【发布时间】:2014-06-06 15:30:14
【问题描述】:
我正在创建一个 winforms 应用程序,我会不时地在其中收到一些消息或事件的通知。 我期待的通知样式类似于 Gtalk,如果用户发送消息,它会在屏幕右下角显示通知,如果同时有来自另一个用户的消息,则会出现新的通知窗口将显示在前一个的上方。新窗口不会与旧窗口重叠或遮盖旧窗口。
到目前为止,我取得了一些成就
在构造函数中使用此代码获取屏幕右下角的窗口,这不是一项大任务
Rectangle workingArea = Screen.GetWorkingArea(this);
this.Location = new Point(workingArea.Right - Size.Width, workingArea.Bottom - Size.Height);
但是现在一旦在屏幕右下角打开名为“通知”的表单。当一个新的通知到来时,它只会与之前的表单重叠。有什么我可以为此做的吗?我错过了一些非常明显的东西吗?
【问题讨论】:
-
或者在windows窗体中你也可以使用
panel control而不是其他窗体 -
@LifeRunsOnCode 关于如何使用面板控件进行通知的任何建议
-
只需发布您尝试添加
panel的表单屏幕截图 -
我认为您也可以使用
notifyIcon control,这有助于在taskbar(屏幕右上角)中弹出通知 -
我只需为正在显示的通知创建一个引用变量。每次需要新通知时,旧通知都会关闭。新的链接到参考,然后显示到屏幕上。我认为这是这种情况的基本方法。
标签: c# winforms notifications new-window