我有一个包含布尔值
unitConnected
的表单。如何将此布尔值的状态传递给我创建并按下按钮打开的子表单?
主窗体代码:
// Global variable
public bool unitConnected = false;
private void buttonOpenSubForm_Click(object sender, EventArgs e)
{
unitConnected = true;
SubForm subForm= new SubForm();
if (subForm.ShowDialog(this) == DialogResult.OK)
{
// Do something
}
}
子表单代码:
private MainForm mainForm = new();
public SubForm()
{
InitializeComponent();
}
private void SubForm_load(object sender, EventArgs e)
{
if (mainForm.unitConnected) // Do something
}
您可以在构建子表单时传递对主表单的引用,然后使用
new SubForm(this)
进行调用。
子表格:
private MainForm mainForm = new();
public SubForm()
{
InitializeComponent();
}
主要形式:
public bool unitConnected = false;
private void buttonOpenSubForm_Click(object sender, EventArgs e)
{
unitConnected = true;
SubForm subForm= new SubForm(this);
if (subForm.ShowDialog(this) == DialogResult.OK)
{
// Do something
}
}
据我了解,您想要创建类似 MessageBox 的内容,您将在其中打开包含特定信息的表单,最后您将选择“确定”或“取消”。如果这是您的意图,您应该按照以下步骤操作。
第1步:
private void button1_Click(object sender, EventArgs e)
{
SubForm sub = new SubForm();
if (sub.ShowDialog(this) == DialogResult.OK)
{
//Your Code
}
}
第2步:
在“SubForm”模型中,添加一个按钮并将该按钮的 DialogResult 属性设置为我选择的任何值“Ok”。
请注意,如果您想从“SubForm”模型接收任何值,请设置“static”类型的中介器 class 并输入所需的属性和函数,以便以出色的方式从任何地方访问这些值。