滚动 frm = null; // 窗体 frm
private void A()
{ frm = new 滚动(); myIncrease = new IncreaseHandle(frm.Increase);
frm.ShowDialog(); } private void DoWork()
{
MethodInvoker mi = new MethodInvoker(A);
this.BeginInvoke(mi);
//this.Invoke(mi);
} private void button3_Click(object sender, EventArgs e)
{
ThreadStart myThreadDelegate = new ThreadStart(DoWork);
Thread td = new Thread(myThreadDelegate);
td.Start();// 问题: 为什么下面的循环不执行?我想实现: 滚动窗体frm.ShowDialog的同时,下面的循环执行。
for (int i = 0; i < 1000; i++)
{
Application.DoEvents();
Thread.Sleep(1);
button3.Text = i.ToString(); } }本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/knight94/archive/2006/05/27/757351.aspx
private void A()
{ frm = new 滚动(); myIncrease = new IncreaseHandle(frm.Increase);
frm.ShowDialog(); } private void DoWork()
{
MethodInvoker mi = new MethodInvoker(A);
this.BeginInvoke(mi);
//this.Invoke(mi);
} private void button3_Click(object sender, EventArgs e)
{
ThreadStart myThreadDelegate = new ThreadStart(DoWork);
Thread td = new Thread(myThreadDelegate);
td.Start();// 问题: 为什么下面的循环不执行?我想实现: 滚动窗体frm.ShowDialog的同时,下面的循环执行。
for (int i = 0; i < 1000; i++)
{
Application.DoEvents();
Thread.Sleep(1);
button3.Text = i.ToString(); } }本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/knight94/archive/2006/05/27/757351.aspx
----------
三易通软件(三易通服装进销存,三易通服装进销存软件,三易通服装进销存管理软件,三易通服装进销存管理系统,三易通服装店软件,三易通服装店管理软件,三易通服装店管理系统,三易通服装销售软件,三易通服装管理软件,三易通服装销售管理软件,三易通服装销售管理系统,三易通服装零售管理软件,三易通服装零售管理系统,三易通服装店收银软件)http://www.3etsoft.cn
:)我也觉得这样不大合理,但是我UI的那个处理时间实在太久,而且牵涉很多变量,没法用线程代替。所以我才想做一个线程的 滚动frm.ShowDialog(); 当没处理完之前不能点父窗体,只能看着滚动frm 在不停的滚动。frm.Show();应该不可以,我需要没处理完之前不能点父窗体。"滚动窗体"封装成一个控件能说具体点吗?不是很明白,能实现 ShowDialog(); 吗?
{
MethodInvoker mi = new MethodInvoker(SetText);
this.BeginInvoke(mi);
} void SetText()
{ for (int i = 0; i < 1000; i++)
{
Application.DoEvents();
Thread.Sleep(1);
button1.Text = i.ToString();
}
}
private void button3_Click(object sender, EventArgs e)
{
DoWork();//异步委托调用,更新主界面button文本
A(); //显示模式窗体
}
但是我的代码放不了...
结贴了,谢谢大家.