提问人:Ankit Goel 提问时间:10/8/2023 更新时间:10/9/2023 访问量:82
仅面板对话框
Dialog box for Panel only
问:
我知道这听起来可能很愚蠢,但这是我项目的真正要求。我在表单中有一个面板,此面板仅用于打开和关闭后续表单。现在,我有一个显示对话框,要求在面板内输入是或否,但是当表单已经在该面板中打开时。这是第一个问题。另一个是我希望对话框应该只停止面板内部的操作,而不是包含面板的表单。有没有办法得到这个。请为此分享一些代码。
答:
0赞
wenbingeng-MSFT
10/9/2023
#1
我可能理解你的第一个要求。在面板中打开其他表单。如果面板中已经有表单,则会弹出一个提示框,询问是否继续。
代码如下:
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();
}
}
}
演示如下:
如果我理解不正确,请告诉我。我不太理解你的第二个问题。你能详细解释一下吗?
评论
0赞
Ankit Goel
10/10/2023
github.com/Shaifalijain31/copyprojectshaifalijain 有一个主形式作为主主。它有一个名为 Mainmasterpanel 的面板。此面板用于打开其中的所有表单。现在当应用程序启动时,一个名为 TDlloading_error 的表单会在这个主面板内打开。如果用户按转义键,则会显示一个名为 FormBackground 的新表单(具有一定的不透明度和透明度),并在其上显示一个名为 MainExitForm 的表单,作为对话框打开 showDialog() 。到这里都很好.
0赞
Ankit Goel
10/10/2023
问题是当这个MainExitForm(对话框)加载时,正如我们所知,showdialog会停止所有表单的执行,直到它们关闭,我只希望它应该阻止面板及其表单的执行。
0赞
wenbingeng-MSFT
10/16/2023
我按照您的描述运行了您的项目,当我尝试按住“Esc”时,整个屏幕变暗,但没有弹出新页面
0赞
Ankit Goel
10/20/2023
请在 github.com/Ankitgoel2009/Tallyincsharp 上找到该项目
0赞
Ankit Goel
10/20/2023
请在上面的链接上找到该项目
上一个:如何将图像绘制到面板中?
评论