我使用C#winform 多线程自动定时弹出新窗体,但是窗体一直忙

问题描述

我使用C#winform多线程自动定时弹出新窗体,但是窗体一直忙。我比如定时5秒钟弹出一个新窗体,但是一直都是忙的状态,我无法对新窗体操作,即使改为1分钟弹一次也没有办法,怎么办?

解决方案

解决方案二:
面对这样的提问方式,我只能回答:凉拌
解决方案三:
如果线程不是UI主线程的话,操作窗体需要用委托调用的,你可以用异步委托,到时间就弹出一个窗体
解决方案四:
代码如下Form1frm;privatevoidbutton1_Click(objectsender,EventArgse){varthread1=newThread(ShowFormThread);thread1.Start();}//没5秒钟开启一个窗体privatevoidShowFormThread(){while(true){Thread.Sleep(5000);this.BeginInvoke(newMethodInvoker(()=>{frm=newForm1();frm.Text="我是第几个窗体";frm.Show();}));}}

解决方案五:
最好让弹出窗体的代码让给计时器事件运行,不要在线程中运行.

时间: 2024-10-18 10:44:15

我使用C#winform 多线程自动定时弹出新窗体,但是窗体一直忙的相关文章

用WINRAR命令实现系统自动定时关机

Windows 2000要实现自动定时关机,方法有很多,比如借用Windows 98的Rundll.exe,或者借用Windows XP的Shutdown.exe命令等.其实,利用压缩软件WinRAR中的Rar命令也可以实现自动定时关机: 第一步:右击桌面空白处,选择"新建→快捷方式",弹出"创建快捷方式"窗口,点击"浏览",在浏览文件夹窗口找到WinRAR安装目录D:\Program files\winrar\Rar.exe,按"确定

自动弹出网页或不定时弹出网页的解决方法

  启动时弹出对话框 1.系统启动时弹出对话框,通常是一些广告信息,例如欢迎访问某某网站等. 2.开机弹出网页,通常会弹出很多窗口,让你措手不及,恶毒一点的,可以重复弹出窗口直到死机. 解决办法:弹出对话框,打开注册表编辑器,找到HKEY_LOCAL_MACHINESoftwareMicrosoftWindows CurrentVersionWinlogon主键,然后在右边窗口中找到"LegalNoticeCaption" 和"LegalNoticeText"这两个

C# WinForm多线程开发(二) ThreadPool 与 Timer

原文地址:点击打开链接 [摘要]本文介绍C# WinForm多线程开发之ThreadPool 与 Timer,并提供详细的示例代码供参考. 本文接上文,继续探讨WinForm中的多线程问题,再次主要探讨threadpool 和timer. 一 .ThreadPool 线程池(ThreadPool)是一种相对较简单的方法,它适应于一些需要多个线程而又较短任务(如一些常处于阻塞状态的线程),它的缺点是对创建的线程不能加以控制,也不能设置其优先级.由于每个进程只有一个线程池,当然每个应用程序域也只有一

完美解决弹出网页或不定时弹出网页的办法_应用技巧

启动时弹出对话框   1.系统启动时弹出对话框,通常是一些广告信息,例如欢迎访问某某网站等.   2.开机弹出网页,通常会弹出很多窗口,让你措手不及,恶毒一点的,可以重复弹出窗口直到死机.   解决办法:弹出对话框,打开注册表编辑器,找到   HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Winlogon  主键,然后在右边窗口中找到"LegalNoticeCaption"和"LegalNoticeT

mssql server自动定时数据库备份图文详细

最常用的方式就是使用SQL Server代理中的作业.启动SQL Server Agent服务,然后在其中新建作业,作业中添加1个备份步骤,类型是T-SQL脚本,然后在命令中输入如下SQL语句,该语句实现了对数据库TestDB1的完整备份,备份文件在C盘Backup文件夹中,文件名就是TestDB1+当时备份的日期字符串.bak.  代码如下 复制代码 declare @name varchar(250)  set @name='C:/Backup/TestDB1_'+  convert(var

关于数据库自动定时备份,但每次备份用不同的名称

备份|定时|数据|数据库 关于数据库自动定时备份,但每次备份用不同的名称 这个方法也许很久以前就实现了,希望哪些高手也不要介意,=:) 言归正传,数据库自动定时备份,但每次备份用不同的名称的实现如下: 1:在SQL SERVER上建立一个Job,这样可以让它自动定时运行: 2:建立一个步骤,用如下代码:declare @path nvarchar(100)declare @name nvarchar(100)declare @devicename nvarchar(50) --'F:\backu

c# winform 多线程使用的问题 多线登录new新窗体的时候 报错

问题描述 c# winform 多线程使用的问题 多线登录new新窗体的时候 报错 c# winform 多线程使用的问题 多线登录new新窗体的时候 Thread Thr=new Thread(new ThreadStart(test1)) Thr.Start(); public void test1() { form1 for=new form1(); for.show(); } 报 线程间操作无效: 从不是创建控件"lts"的线程访问它.如何解决呢 解决方案 up 习惯用委托去解

c# winform 多线程调用信息窗体

问题描述 c# winform 多线程调用信息窗体 想做一个多线程任务中的信息提示窗体.即在执行任务的过程中,如果一个线程需要向外界输出信息,那么就显示该信息窗体,并在窗体上显示信息内容,可以点击一个按钮关闭该窗体.如果其中一个线程调用了该窗体显示信息后没有关闭,其他线程调用该窗体时,则在原信息窗体上补充显示新的信息. 请各位大虾出手相助! 解决方案 可以使用自定义消息,多线程只向消息队列提交消息,信息窗体根据消息来处理显示问题

求jquery定时弹出消息的插件或代码

问题描述 大家有没有好用的,支持多浏览器的,JQUERY的定时弹出消息的插件或代码?是在右下角定时弹出那种,由下而上的,象QQ那样 解决方案 http://codecanyon.net/item/jnotifier/full_screen_preview/238021?ref=fusiondevs&clickthrough_id=28682103&redirect_back=true解决方案二:非常简单的可以做为参考.<!DOCTYPE html PUBLIC "-//W3