线程与多窗口弹出问题

surexuwu 2010-10-07 08:26:24
我最近做一个项目,有个地方始终通不过去。
我在主窗体下设了一个线程,这个线程内容:查询数据库表,选择某字段为0的记录,提取出此行的其他信息的值,判断首行的int型数据,可能值为1或2,若为1,弹出winform1窗口,若为2,弹出winform2,均是把提取的信息用label,textbox 等显示出来。
主要就是是实现以上这些功能。
我做的时候主要面临的问题是:
可能在查询表时查出许多记录,这时弹窗也就弹了许多,很卡,内容显示不出来,窗口呈假死状态。
即使只有一条记录时也出现卡的情况,也就是弹了两个窗口,上面那个窗口白色的,移走后,下面的窗口才该显示了实际的内容。

望哪位大虾解答,小弟谢啦……
...全文
134 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
surexuwu 2010-10-10
  • 打赏
  • 举报
回复
我结贴了,我可以返还20分嘛。 我分数给错了,哎,原本想给2楼的兄台,他给了一些解答。其他的前辈也不好意思了,小弟初次发帖,许多规矩不懂……
w_f_y4422 2010-10-08
  • 打赏
  • 举报
回复
是循环查数据库吗?
huwen7565833 2010-10-08
  • 打赏
  • 举报
回复
肯定是你代码写的有问题啊!你代码不贴出来别人怎么帮你解决啊!!!
huwen7565833 2010-10-08
  • 打赏
  • 举报
回复
肯定是代码写的有问题啊!你代码不贴出来别人怎么帮你解决啊!!
clong320 2010-10-08
  • 打赏
  • 举报
回复
代码帖出来
lulinhexiaoting 2010-10-08
  • 打赏
  • 举报
回复
代码!!另外你要的是WebForm还是WinForm的窗体??说明白点!
surexuwu 2010-10-08
  • 打赏
  • 举报
回复
不好意思,我忘了把代码发上来了

private void Form3_Load(object sender, EventArgs e)
{

Thread WuXianBianLi = new Thread(ThreadProc);
WuXianBianLi.IsBackground = true;
WuXianBianLi.Start();
}

void ThreadProc()
{


while (true)
{
AlertMessage();
Thread.Sleep(1000);
}
}

private void AlertMessage()
{
DataSet dss = HF_function.GetAlertMsg("select * from hf_warnrecord where isDealWith=0"); //查找表中未处理的报警
DataTable tb = dss.Tables[0];
if (tb.Rows.Count > 0)
{
int[] warnLevel = new int[dss.Tables[0].Rows.Count];
for (int i = 0; i < dss.Tables[0].Rows.Count; i++)
{
warnLevel[i] = (int)tb.Rows[i][7]; //报警级别
}
switch(warnLevel[i])
{
case 1:
Form1 frm=new Form1();
frm.Show();
break;
case 2:
Form2 frm2=new Form2();
frm2.Show();
break;
}
wuyq11 2010-10-07
  • 打赏
  • 举报
回复
需要弹出那么多窗口,无用就不要弹出
new Thread((ThreadStart)delegate
{
}).Start();
ZengHD 2010-10-07
  • 打赏
  • 举报
回复
代码代码

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧