gpt4 book ai didi

c# - 如何在桌面上始终保持窗口窗体的四个角可见?

转载 作者:行者123 更新时间:2023-12-02 05:33:18 25 4
gpt4 key购买 nike

我有一个用作桌面应用程序的 Windows 窗体。现在我希望当我拖动它时,表单不应该超出桌面边界。我知道整个窗口不会消失,但我想显示所有四个角。我设置了“边框样式 = 固定工具窗口”,并编码为以编程方式移动窗体。

所以不是这个:

----------------------!                    !!          ---------------!          !             !!          !             !!          ---------------!                    !----------------------

我想要这个:

------------------------!                      !!         -------------!!         !           !!!         !           !!!         -------------!!                      !------------------------

最佳答案

您可以使用 LocationChanged事件并将其与 Screen.AllScreens[0].Bounds 进行比较,这是主要监视器,如果您有多个监视器,您可以更改然后索引以选择您将表单限制到哪个屏幕。

private void Form1_LocationChanged(object sender, EventArgs e)
{
if ((this.Left + this.Width) > Screen.AllScreens[0].Bounds.Width)
this.Left = Screen.AllScreens[0].Bounds.Width - this.Width;

if (this.Left < Screen.AllScreens[0].Bounds.Left)
this.Left = Screen.AllScreens[0].Bounds.Left;

if ((this.Top + this.Height) > Screen.AllScreens[0].Bounds.Height)
this.Top = Screen.AllScreens[0].Bounds.Height - this.Height;

if (this.Top < Screen.AllScreens[0].Bounds.Top)
this.Top = Screen.AllScreens[0].Bounds.Top;
}

关于c# - 如何在桌面上始终保持窗口窗体的四个角可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12074199/

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