0

我是 C# 的新手,但我坚持使用它并开始我的第一个适当的程序。该程序由Notify Icon存在于通知区域中的一个组成,当单击它时,表单将显示一小段时间。

到目前为止,我已经有了它,所以程序启动了(没有显示表单(这是一个 FixedSingle,所以它只显示为一个灰色框),但是创建了图标),并注册了MouseClick事件,但这就是我已经成为的地方卡住。我正在尝试获取它,以便在单击图标时,该框将出现在通知区域上方/旁边(直到发生模糊事件或来自表单上的对象的事件),但在谷歌搜索后半部分一个小时左右,我还没有找到解决方案,可能是因为我不知道正确的词。

那么,有谁知道需要发送哪些命令才能使表单暂时出现在正确的坐标中(相对于通知区域)?

额外的

我已修改static void Main()为以下内容:

Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
new frmMain();
Application.Run();

所以new frmMain()存在作为它自己的实体,而不是作为一个论点Application.Run()

编辑

Righto,刚刚发现我可以显示表单,this.Show()并且显示表单,而相反的this.Hide()会隐藏它。但我仍然无法确定通知区域的坐标,以及如何计算表单的新坐标以使其旁边/上方显示。

4

1 回答 1

1

您可以使用:

  1. Screen.PrimaryScreen
  2. 屏幕.工作区

System.Drawing.Rectangle workingRectangle = Screen.PrimaryScreen.WorkingArea;
this.Left = workingRectangle.Width - this.Width;
this.Top = workingRectangle.Height - this.Height;
this.Show();

每当单击通知图标时,都需要调用上述代码。

于 2013-04-16T18:10:24.867 回答