【发布时间】:2020-12-23 02:43:57
【问题描述】:
我有两个表格(Form1 和 Form2)。在 Form1 上是 treeView 控件和 bool 变量 YesNo,在 Form2 上是按钮。
我要做的是运行 treeView1_NodeMouseDoubleClick 然后运行 Form2,单击 Form2 上的按钮,然后将值变量 YesNo 设置为 true。
但我被卡住了,因为在显示 Form2 后 treeView1_NodeMouseDoubleClick 继续运行,并且在 button1_Click 事件完成之前我不知道如何停止。
从下面的代码中,我想获得带有 True 文本的 MessegeBox。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public static bool YesNo { get; set; }
private void treeView1_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
{
if (treeView1.SelectedNode.Text == "GB")
{
Form2 f2 = new Form2();
f2.Show();
# how to stop this event until button1_Click is finish
MessageBox.Show(YesNo.ToString());
}
}
}
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form1.YesNo = true;
}
}
【问题讨论】:
-
使用 ShowDialog 将其显示为模态窗口。
-
很棒,很简单,但可以像我想要的那样工作。谢谢。