关于C#Winform线程调用窗体的使用方法以及窗体的单一显示
来源:互联网 发布:ip电话软件下载 编辑:程序博客网 时间:2024/05/17 02:03
使用相关的具备条件:
1.前提是必须窗体实例完毕,再触发相关事件开始调用
2.代码如下:如在窗体加载完毕的一个button事件调用线程1
Thread th1= new Thread(new ThreadStart(process1));
th1.Start();
//开始调用线程
private void process1()
{
while (true)
{
Thread.Sleep(Convert.ToInt32(sleepTime));//设置延迟时间
Thread th3 = new Thread(new ThreadStart(process3));//刷新任务
th3.Start();
}
}
//具体使用BeginInvoke方法调用窗体
private void process3()
{
MethodInvoker mi = new MethodInvoker(this.ShowMsgForm);
this.BeginInvoke(mi);
}
窗体实例亦可分为两种情况
1.直接实例化
private void ShowMsgForm()
{
ArasUpboxNews setNews = new ArasUpboxNews();//实例窗体
setNews.Show(this);
}
2.判断窗体是否存在的实例
private void ShowMsgForm()
{
ArasUpboxNews setNews = ArasUpboxNews.getinstance();
if (!setNews .Visible)
{
setNews .Show(this);
}
}
3.在ArasUpboxNews窗体中判定窗体是否显示
private static ArasUpboxNews _initialize = null;
//初始化窗体
public static ArasUpboxNews getinstance()
{
if (_initialize == null)
{
_initialize = new ArasUpboxNews();
}
return _initialize;
}
注意:实例之后一般要用this.Hide();属性
在form_closed事件中 写入_initalize = null;
如:private void form_FormClosed(object sender, FormClosedEventArgs e)
{
_initialize = null;
}
在form_closing事件中 写入this.Hide();
如:private void form_FormClosing(object sender, FormClosingEventArgs e)
{
this.Hide();
}
- 关于C#Winform线程调用窗体的使用方法以及窗体的单一显示
- C#Winform不重复的显示子窗体
- 关于子窗体嵌套在父窗体中显示的方法,winform中的选项卡
- winform在子窗体调用父窗体的控件
- 窗体的调用显示问题
- 不同线程更新WinForm窗体的内容
- 关于winform窗体传值的问题
- 关于c# winForm窗体最大化的设置
- 关于c# winForm窗体最大化的设置
- 关于c# winForm窗体最大化的设置
- 关于winForm窗体最大化的设置(转)
- C#WinForm登陆窗体的建立
- C#Winform中窗体的美化
- 透明的WinForm窗体
- winform窗体的伸缩
- winform窗体的应用
- C#----子窗体调用子窗体,但调用的子窗体仍属于父窗体
- 跨线程中调用winform窗体控件
- 达芬奇五年沉浮——嵌入式处理器架构之争决战2012
- DIV+CSS--IE6,IE7,IE8,Firefox兼容
- vim编辑器终结版
- 为什么使用if else分支语句不好
- 总结一下Page_Load和OnLoad
- 关于C#Winform线程调用窗体的使用方法以及窗体的单一显示
- java Timer类的基本使用
- Linux内核Ramdisk(initrd)机制
- Silverlight渐进学习系列(1)——IValueConverter的使用
- Linux 文件系统
- android framebuffer 操作-进度条显示
- Oracle脚本修改表
- jbuider2006 学习
- 详解文件操作(ifstream、ofstream、fstream)