我正在开发一个应用程序,它最小化并在系统托盘上显示一个通知图标。
当应用程序运行并且我最小化它时,表单在Resize事件中运行Hide()方法以隐藏窗口并且它可以工作(窗口在任务栏中隐藏并在系统托盘上显示通知图标)。问题是应用程序启动时。它配置为最小化运行。
启动时,系统托盘图标出现,窗口显示为最小化,但显示在任务栏中。
有什么问题?
这是Resize事件:
private void frmMain_Resize(object sender, EventArgs e)
{
if (this.WindowState == FormWindowState.Minimized)
{
Hide();
notifyIcon.Visible = true;
notifyIcon.ShowBalloonTip(200);
}
}
答案 0 :(得分:0)
我尝试将所有代码放入Load事件而不是Resize:
private void frmMain_Load(object sender, EventArgs e)
{
if (this.WindowState == FormWindowState.Minimized)
{
Hide();
notifyIcon.Visible = true;
notifyIcon.ShowBalloonTip(200);
}
}
调整大小事件仅在手动调整应用程序大小时调用(我明白了当你单击最小化按钮但它在启动时没有工作的原因)。
答案 1 :(得分:0)
试试这个
namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Resize(object sender, EventArgs e)
{
HideWindow();
}
private void Form1_Load(object sender, EventArgs e)
{
HideWindow();
}
private void HideWindow()
{
if (this.Visible == true)
{
if (this.WindowState == FormWindowState.Minimized)
{
this.Hide();
}
}
}
}
}