【发布时间】:2018-01-22 09:14:32
【问题描述】:
当我更改窗口(窗体)时,我的应用程序图标从任务栏中消失。因此,要打开应用程序,用户需要单击 ALT+TAB 选择从任务栏隐藏的表单。用户选择应用程序后,图标再次出现在任务栏。我不希望我的应用程序图标从任务栏中消失。
我的代码如下:
//Program.cs
[STAThread]
static void Main()
{
Application.Run(new LoginPage());
}
登录页面是应用程序获取用户名和密码的第一个屏幕。单击提交按钮后,应用程序将进入主页面。
//LoginPage.cs
private void submitBtn_Click(object sender, EventArgs e)
{
MainPage mainPage= new MainPage();
mainPage.Show();
this.Hide();
}
假设我在主页上有一个按钮可以转到另一个表单。这里当我点击page1按钮时任务栏图标消失了。
//MainPage.cs
private void page1Btn_Click(object sender, EventArgs e)
{
Page1 page1 = new Page1();
page1.Show();
this.Hide();
}
经过一些研究,我找到了一个解决方案,但还有另一个问题是我无法正确最小化表单。
当我用下面的代码更改上面的代码时
//MainPage.cs
private void page1Btn_Click(object sender, EventArgs e)
{
Page1 page1= new Page1();
page1.ShowInTaskbar = false;
page1.Owner = this;
page1.ShowDialog();
this.Hide();
}
这里,我还需要修改Page1如下
//Page1.cs
private void Page1_FormClosed(object sender, FormClosedEventArgs e)
{
MainPage mainPage = new MainPage();
mainPage.Show();
}
这里我可以一步一步成功进入page1(任务栏图标不消失)。当我最小化 page1 时,它会按预期最小化应用程序,但是当我从任务栏最大化应用程序时,我希望 Page1 应该最大化,但 MainPage 会最大化,并使用最小化的第一个页面,如下图所示。
我只想纠正这些问题。我希望那里有经历过这些事情的专家。
【问题讨论】:
-
不要隐藏表单!
-
那个案例还有一个问题。为了用户体验,应该隐藏 MainPage。
-
那是一个设计问题 - 但它从栏中消失的原因是您隐藏了主窗体。
-
我建议使用MDI forms How To USE 这是一个专业而且很酷的东西
-
感谢您的建议,但我可以看到 MDI 容器在父级内部打开了新表单。这不适合我。页面无关紧要。我认为您通过查看我共享的图像来建议这一点。菜单项在第 1 页不存在