【现象描述】:
(1)编写程序时,经过一个if条件判断触发“打开Form2”窗体的操作;紧接着在其后有一个for循环,用来判断Form2关闭时所传递到Form1的“参数1”是否改变,改变的话就退出循环,继续执行下面其他程序语句
(2)问题:
- ①窗体Form2打开后,由于执行了(1)的for语句,Form2的控件不能正常加载,Form1与Form2同时出现类似“死锁”而不能操作的现象,然后只能通过任务管理器或者编程软件去关闭。
(3)不明白的地方:
①出现上述现象具体原因是什么?有没有好的解决办法?
②C#如何编程实现下面功能:
(1)开启新窗体,新窗体要正常操作,实现其所属的功能(比如填写数据,传递数据)
(2)窗体开启之后,需要创建程序段去等待新窗体操作传递的数据
(3)主线程接收到数据后再继续执行后面的程序
多谢,祝万事如意!
```c#
if (textBox31.Text != string.Empty)
{
Form 参数填写 = new 参数填写弹窗();
//参数填写.Parent = this;
参数填写.Location = new Point(this.button1.Location.X, this.button1.Location.Y);
参数填写.Show();
}
while (true)
{
if (弹窗关闭标志接收 == true)
{
//进度条数值继续增加标志
进度条暂停 = false;
//跳出死循环
break;
}
}
continue; //继续上一层for循环执行