黑马程序员技术交流社区
标题:
winform里面 有个按钮 我点击一下要调用一个do()方法
[打印本页]
作者:
lyz1024
时间:
2012-1-25 19:19
标题:
winform里面 有个按钮 我点击一下要调用一个do()方法
本帖最后由 lyz1024 于 2012-1-25 21:21 编辑
winform里面 有个按钮 我点击一下要调用一个do()方法
但是我想要的就是
我点击一下调用do()方法后
在do()方法执行期间
我就不能点按钮了
要do()执行完以后
才能点击
private void button1_Click(object sender, EventArgs e)
{
button1.enable=false;
do();
.......
button1.enable=true;
}
这样实现不了
作者:
孙琦
时间:
2012-1-25 19:33
这个问题好解决 用多线程解决;;我给你一段实例代码
void ChangeText()
{
button2.Enabled = false;
for (int i = 0; i < 999999999; i++)
{
}
MessageBox.Show("循环完毕:)");
button2.Enabled = true;
}
/// <summary>
/// 多线程
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button2_Click(object sender, EventArgs e)
{
Thread thread = new Thread(ChangeText);
thread.IsBackground = true;
thread.Start();
}
作者:
lyz1024
时间:
2012-1-25 19:47
晕,用多线程呀,测试一下
作者:
孙琦
时间:
2012-1-25 19:50
lyz1024 发表于 2012-1-25 19:47
晕,用多线程呀,测试一下
如果你的循环时间过长的话,不用多线程UI会出现假死的现象,具体的你懂,就是界面不能拖动,同样用多线程可以解决,岂不更好,
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2