首页 > 其他分享 >WPF多UI线程

WPF多UI线程

时间:2023-11-08 10:23:41浏览次数:39  
标签:thread private LogType static UI 线程 WPF spashWindow

 

 

 

 internal class SpashWindowManager
    {
        private static SpashWindow _spashWindow;
        private static Thread thread;
        public static void Show()
        {
            thread = new Thread(() =>
           {
               _spashWindow = new SpashWindow();
               _spashWindow.Show();
               try
               {
                   Dispatcher.Run();
               }
               catch (Exception e)
               {
                   LogHelper.WriteLog(e.Message, LogType.Error);
               }
           })
            { IsBackground = true };
            thread.SetApartmentState(ApartmentState.STA);
            thread.Start();
        }

        public static void Close()
        {
            Dispatcher.FromThread(thread)?.Invoke(() =>
                {
                    try
                    {
                        _spashWindow.Close();

                    }
                    catch (Exception e)
                    {
                        LogHelper.WriteLog($" {e.StackTrace.ToString()}  {e.Message}", LogType.Error);
                    }
                });
        }
    }

  

标签:thread,private,LogType,static,UI,线程,WPF,spashWindow
From: https://www.cnblogs.com/Koalin/p/17816760.html

相关文章

  • SQL Server 2005 数据库对象命名规范 Database Naming Conventions(Guidelines)
    使用SQLServer2005命名数据库对象时可以参照微软的示例数据库AdventureWorks。其次可以参照以下内容:DatabaseNamingConventionsVersion1.1LastRevisedMay13,2004byJasonMaussThemaingoalofadoptinganamingconventionfordatabaseobjectsissothatyouand......
  • 多线程select并发
    目录单纯select的问题解决方法建立子线程的位置多线程的共享资源代码单纯select的问题之前的代码中,建立连接和接收数据是线性执行的关系,也就是说,建立连接时不能接收,接收时不能建立连接,所以效率仍然不够高解决方法主线程中一直执行select函数,检测文件描述符的状态,让子线程去进......
  • Long UUID生成
    编者在开发过程中用postman测试接口,发现要求id为必填且不能含有英文字母,问了对面开发人员才知道需要自己生成20位Long型uuid,写法大概如下,在需要生成的部分调用这个类即可。packagenc.bs.task.util;importjava.text.SimpleDateFormat;publicclassUUID{privatestaticvola......
  • 一键生成前端UI,公司90%项目UI都靠它搞定
    今天看公众号,有大神分析了这样的一篇文章:一键生成前端UI,公司90%项目UI都靠它搞定地址:https://mp.weixin.qq.com/s/UhmLwVeZ0jwZORur8XD2MQ ......
  • C/C++ __builtin 超实用位运算函数总结
    以__builtin开头的函数,是一种相当神奇的位运算函数,下面本人盘点了一下这些以__builtin开头的函数,希望可以帮到大家。1__builtin_ctz()/__buitlin_ctzll()用法:返回括号内数的二进制表示数末尾0的个数//eg:#include<bits/stdc++.h>usingnamespacestd;intmain......
  • IApplicationBuilder详解
    在上节中我们已经得知WebApplication实现了IApplicationBuilder,我们浅谈了其pipe特质和构建方法,本节中将深入了解ApplicationBuilder以窥探IApplicationBuilder真相publicinterfaceIApplicationBuilder{IServiceProviderApplicationServices{get;set;}I......
  • [WPF]浅析资源引用(pack URI)
    WPF中我们引用资源时常常提到一个概念:packURI,这是WPF标识和引用资源最常见的方式,但不是唯一的方式。本文将介绍WPF中引用资源的几种方式,并回顾一下packURI标识引用在不同位置的资源文件的写法。WPF中引用资源的几种方式WPF中使用URI标识和加载位于各种位置的文件,包括当前程序......
  • Appium 2.X 做 iOS UI 自动化测试 —— 起步
    环境Appium2.0之后,安装方式简化了许多,和之前变化很大;必须使用Mac;分别安装node、appium#nodebrewinstallnodenpmconfigsetregistryhttps://registry.npm.taobao.org#appiumnpminstall-gappium安装appium-inspector客户端下载或者网络调试,不过速度较......
  • vue2 - require is not defined
    vue.config.js文件中module.exports=defineConfig({transpileDependencies:['require'],...将transpileDependencies属性值改未false或者['require']时即可。虽然不太清除具体原理但是问题解决了,如果有大佬知道希望评论解答一下,谢谢。......
  • WPF仿VS TreeView
    [TemplatePart(Name="PART_Content",Type=typeof(ToggleButton))][TemplatePart(Name="Expander",Type=typeof(Panel))]publicclassOTreeViewItem:TreeViewItem{Panel?partContent;ToggleButton?pa......