gpt4 book ai didi

c# - 在通知区域显示 winform

转载 作者:太空狗 更新时间:2023-10-29 20:53:34 25 4
gpt4 key购买 nike

我想在系统托盘正上方的右下角显示一个 winform,

我该怎么做?这是我的代码:

public static void Notify()
{
Rectangle workingArea = Screen.PrimaryScreen.WorkingArea;
Form fm = new Form();
fm.ClientSize = new Size(200, 200);
int left = workingArea.Width - fm.Width;
int top = workingArea.Height - fm.Height;
fm.Location = new Point(left, top);
fm.ShowInTaskbar = false;
fm.ShowIcon = false;
fm.MinimizeBox = false;
fm.MaximizeBox = false;
fm.FormBorderStyle = FormBorderStyle.FixedToolWindow;
fm.Text = "Test";
fm.TopMost = true;
fm.Show();
}

最佳答案

我刚刚尝试了这个并且它对我有用(注意:这段代码必须出现在表单第一次显示之后——例如,你可以将它放在表单的 Load 事件处理程序中,或者在对 Show 的任何调用之后简单地包含它):

Rectangle workingArea = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea;
int left = workingArea.Width - this.Width;
int top = workingArea.Height - this.Height;

this.Location = new Point(left, top);

是否使用 WorkingAreaBounds 取决于您所说的“over”是什么意思:如果您的意思是“在前面”,则使用 Bounds,因为它包括覆盖整个屏幕的区域(包括系统托盘占用的空间);如果您的意思是“上方”,则使用 WorkingArea,它只包含用户的桌面。

另外让我澄清一下,您希望在下面显示您的实际表单,对吗?如果你想在通知区域有一个图标,那就是 NotifyIcon组件是为了。

关于c# - 在通知区域显示 winform,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3644315/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com