最小化表单应用程序c#时,任务栏图标消失

时间:2018-01-22 09:14:33

标签: c# desktop-application

当我更改窗口(表单)时,我的应用程序图标会从任务栏中消失。因此,要打开应用程序,用户需要单击ALT + TAB以选择从任务栏隐藏的表单。用户选择应用程序后,图标再次进入任务栏。我不希望我的applcation图标从任务栏中消失。

我的代码如下:

//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();
}

在这里,我可以一步一步地成功转到第1页(不会消失任务栏图标)。当我最小化page1时,它会按预期最小化应用程序,但是当我从任务栏最大化应用程序时,我希望Page1应该最大化,但MainPage最大化,最小化的Page 1如下图所示。

MainPage

我只想纠正这些问题。我希望有专家在那里经历过这些事情。

1 个答案:

答案 0 :(得分:0)

问题解决了。

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

我不是从属性中最大化它,而是从Page Load手动完成并解决它。

this.Bounds = Screen.PrimaryScreen.WorkingArea;