我在一个点击事件里写
for(i=0;i<10000;i++)
{
lable1.text=i.toString();
}
在运行时,其他控件无法使用,包括关闭都无法点击,就像卡住了,是线程的问题吗?怎样让其他的控件也能使用
for(i=0;i<10000;i++)
{
lable1.text=i.toString();
}
在运行时,其他控件无法使用,包括关闭都无法点击,就像卡住了,是线程的问题吗?怎样让其他的控件也能使用
解决方案 »
- 用套接字处理UDP协议的时候,怎么区分终结点?
- 怎么样获取checkboxlist中选中的值?
- Microsoft.Office.Tools和Microsoft.Office.Interop有啥区别啊?
- 如何判断目录是否存在,c#.net
- 请问在DataGrid里怎么实现在这样的效果
- 问个问题:关于打包后的文件
- 怎样实现 撤消/重复 功能?
- 非常非常简单的问题,可是小弟我就是不会,真是郁闷。
- 用vs.net2003制作安装包时,同时也想把一个第三方控件的安装程序一同打包,并且先安装第三方控件然后在执行我的程序
- 没想到这样会对SQLSever服务器的影响相差这么远!!!
- Post数据后跳转回错误信息
- 在一个已经有数据的gridview中,有哪些方法可以把这些数据导入到数据库??
{
lable1.text=i.toString();
Application.DoEvent();
}
public partial class Form2 : Form
{//申明委托
delegate void LockWindowDelegate(bool enabled);
//定义委托对象private LockWindowDelegate _lockWindow;
public Form2()
{
InitializeComponent();
//对象初始化 _lockWindow = new LockWindowDelegate(lochFunction);
}
private void startAsyncButton_Click(object sender, EventArgs e)
{//异步调用1
this.BeginInvoke(_lockWindow, true);
//异步调用2 IAsyncResult iar= _lockWindow.BeginInvoke(true,null,null);
//停止调用 _lockWindow.EndInvoke(iar);
} private void lochFunction(bool bol)
{
if (bol)
{
this.startAsyncButton.Enabled = false;
this.cancelAsyncButton.Enabled = true;
}
else
{
this.startAsyncButton.Enabled = true;
this.cancelAsyncButton.Enabled = false;
}
}
}
加Application.DoEvent();算是一个简单的办法了,如果循环内容写多了,处理event就有延迟了
{
lable1.text=i.toString();
if(i%100==0)
{
Application.DoEvent();
}
}
Application.DoEvent(); 不建议使用。