【问题标题】:Taskbar icon disappears when minimizing form application c#最小化表单应用程序c#时任务栏图标消失
【发布时间】: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 页不存在

标签: c# desktop-application


【解决方案1】:

问题解决了。

问题是,我正在最大化页面属性中的表单。

我没有从属性中最大化它,而是从页面加载手动完成并解决了它。

this.Bounds = Screen.PrimaryScreen.WorkingArea;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-13
    • 1970-01-01
    • 1970-01-01
    • 2013-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多