有一个主窗体frmMain,和一个报警窗体frmAlarm。
主窗体把报警窗体做为一个全局对象
frmAlarm fa;还有一个标识IsShowfa=false;在加载的时候new了一下
fa=new frmAlarm();在一个子线程中
while(true)
{
//符合条件
if(....)
{
//窗体是否己经打开
if(!IsShowfa)
{
这里Show一下fa,仅限第一次}
fa显示之后永远不会被关闭,不用的时候hide()
}
在这里触发一个事件,通知报警窗体show,再显示数据thread.sleep(1)
}问题出来了,这个fa总是假死,不知道为什么,愁死人了!
=================================================================
如果我改成以下形式,就好了,可是每次程序启动的时候都要先闪一个报警窗体
frmAlarm fa;还有一个标识IsShowfa=false;在加载的时候new了一下
fa=new frmAlarm();
fa.show();
fa.hide();在一个子线程中
while(true)
{
//符合条件
if(....)
{
在这里触发一个事件,通知报警窗体show,再显示数据thread.sleep(1)
}
主窗体把报警窗体做为一个全局对象
frmAlarm fa;还有一个标识IsShowfa=false;在加载的时候new了一下
fa=new frmAlarm();在一个子线程中
while(true)
{
//符合条件
if(....)
{
//窗体是否己经打开
if(!IsShowfa)
{
这里Show一下fa,仅限第一次}
fa显示之后永远不会被关闭,不用的时候hide()
}
在这里触发一个事件,通知报警窗体show,再显示数据thread.sleep(1)
}问题出来了,这个fa总是假死,不知道为什么,愁死人了!
=================================================================
如果我改成以下形式,就好了,可是每次程序启动的时候都要先闪一个报警窗体
frmAlarm fa;还有一个标识IsShowfa=false;在加载的时候new了一下
fa=new frmAlarm();
fa.show();
fa.hide();在一个子线程中
while(true)
{
//符合条件
if(....)
{
在这里触发一个事件,通知报警窗体show,再显示数据thread.sleep(1)
}
解决方案 »
- C#控制台复制文件出现进度
- 如何设置动态一维数组?
- 今天开始开发Winform程序,请问买什么书看容易上手?
- 超级郁闷的问题:错误应用程序 w3wp.exe,版本 6.0.3790.1830,错误模块 kernel32.dll,版本 5.2.3790.2756,错误地址 0x00015e02。
- 部署问题!我作的是winform程序,可以部署为web安装项目吗?高手请进
- 做一个html的控件
- 请教大家C#中如何在一个窗体里面控制另外一窗体的控件?
- 请教一个问题,关于socket send的一个问题
- c#里面字符的存储问题,很奇怪,与C++中的不同。
- 编辑SPREAD控件单元格
- 用asp.net把word里面的公式编辑器调出来,只要调出来就可以!
- C#简单的打字游戏问题?
{
public Form1()
{
InitializeComponent();
} #region"Declare";
private Form2 modForm = new Form2();
#endregion #region"Method";
delegate void ShowCallback();
private void ShowForm()
{
if (this.InvokeRequired)
{
ShowCallback d = new ShowCallback(ShowForm);
this.Invoke(d, new object[] { });
}
else
{
if (modForm.IsDisposed)
{
modForm = new Form2();
}
modForm.Show();
}
} /// <summary>
/// Thread method.
/// </summary>
private void Test()
{
int i = 0;
while (true)
{
if (i == 10)
{
ShowForm();
break;
} Thread.Sleep(300);
i++;
}
}
#endregion private void buttonTest_Click(object sender, EventArgs e)
{
Thread showThread = new Thread(new ThreadStart(Test));
showThread.IsBackground= true;
showThread.Start();
}
}