3

我的 Form1 显示在底部的任务栏中。我希望当我点击图标时它会做一些事情。不是最大化表格,而是做其他事情。

我有一个 form1 点击事件:

private void Form1_Click_1(object sender, EventArgs e)
        {
            notifyIcon1.Visible = true;
            notifyIcon1.ShowBalloonTip(30000);
        }

但这仅在我在表单最大化时单击表单时才有效。我希望它只有在我单击任务栏中的图标时才能工作。不是右下角的托盘图标,而是底部的任务栏。

编辑**

当它在任务栏中时,我没有找到表单图标的任何点击事件,到目前为止我所做的是使用 form1 resi8ze 事件并做了:

private void Form1_Resize(object sender, EventArgs e)
        {
            if (WindowState == FormWindowState.Normal)
            {
                this.WindowState = FormWindowState.Minimized;
                notifyIcon1.Visible = true;
                notifyIcon1.ShowBalloonTip(30000);

            }
        }    

我也在 Form1 Load 事件中做过:

this.WindowState = FormWindowState.Minimized;

所以现在的结果是,当我运行程序时,表单图标一直在任务栏中,表单永远不会最大化调整大小或打开。当我单击任务栏中的图标时,气球提示运行良好。

现在的问题是:

  1. 当您将鼠标移到图标上时,以某种方式删除表单的窗口。
  2. 锁定/禁用/避免用户多次单击图标。一旦用户单击图标等待 5 分钟并再次启用它。
4

1 回答 1

0

我认为您需要熟悉WindowsAPICodePackTaskbar API。我从未完全按照您的需要完成,但这些 API 非常强大,可能会派上用场。

于 2013-09-30T16:56:25.220 回答