如何最小化应用程序到系统托盘?

时间:2014-02-25 08:54:33

标签: c# winforms

如何最小化应用程序到系统托盘?

我的应用程序是用C#.Net开发的。我编写了代码,如果在从组合框中选择一些设置后单击按钮,则表单最小化为系统托盘。单击一次后,该按钮被禁用。所以,我不能再使用该按钮来最小化Form。当使用从COM端口接收的数据填充RichTextBox时,弹出窗体。一切都很好。

问题是当最小化的表单在收到串行数据后弹出时,我需要一个选项,以便再次将其最小化回系统托盘,以便在RichTextBox中填充新数据时它可以再次弹出。

每当Form弹出时,我都不想添加其他按钮来执行此操作。还有其他办法吗?

如果有人提供代码,那么如果点击标题栏中的最小化按钮,应用程序最小化到系统托盘会更好。

我只想知道我必须使用的函数名称,例如private Form1_Resize()。实际上,无法使用Resize事件,因为只要窗体最小化或最大化,它就会触发。我只需要在Form最小化时触发它。

3 个答案:

答案 0 :(得分:1)

那里有数以千计的HowTo,你试过谷歌吗?仅举一个例子:http://alperguc.blogspot.de/2008/11/c-system-tray-minimize-to-tray-with.html

答案 1 :(得分:0)

如何添加密钥以最小化表单?

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Escape)
    {
        this.WindowState = FormWindowState.Minimized;
    }
}

答案 2 :(得分:0)

private void frmMain_Resize(object sender, EventArgs e)
{
 if (FormWindowState.Minimized == this.WindowState)
{
 mynotifyicon.Visible = true;
 mynotifyicon.ShowBalloonTip(500);
 this.Hide();
}
 else if (FormWindowState.Normal == this.WindowState)
 {
 mynotifyicon.Visible = false;
 }
}