我知道这可能听起来很愚蠢,但这是我的项目的真正要求。我的表单内有一个面板,该面板仅用于打开和关闭后续表单。现在我有一个显示一个对话框,询问面板内是否是或否,但当表单已在该面板内打开时。这是第一个问题。另一个是我希望对话框只停止面板内的操作,而不是包含面板的表单。有没有办法得到这个。请分享一些代码。
我大概理解你的第一个要求。在面板中打开其他表单。如果面板中已有Form,会弹出提示框询问是否继续。
代码如下:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Form2 form2;
Form3 form3;
private void button1_Click(object sender, EventArgs e)
{
if(form2 == null&&form3 == null)
{
CheckPanel();
}
else
{
TipBox();
}
}
public void CheckPanel()
{
if (radioButton1.Checked)
{
form2 = new Form2();
form2.TopLevel = false;
form2.Dock = DockStyle.Fill;
form2.Parent = panel1;
if (form3 != null)
{
form3.Hide();
}
form2.Show();
}
else if (radioButton2.Checked)
{
form3 = new Form3();
form3.TopLevel = false;
form3.Dock = DockStyle.Fill;
form3.Parent = panel1;
if (form2 != null)
{
form2.Hide();
}
form3.Show();
}
}
public void TipBox()
{
DialogResult result = MessageBox.Show("Do you want to continue?", "Tip", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (result.Equals(DialogResult.Yes))
{
CheckPanel();
}
else if (result == DialogResult.No)
{
this.Close();
}
}
}
演示如下:
如果我理解有误,请告诉我。我不太明白你的第二个问题。能详细解释一下吗?