C# 在运行期间调整屏幕工作区域的大小
我使用以下代码确定侧面板的位置和方式:C# 在运行期间调整屏幕工作区域的大小,c#,winforms,C#,Winforms,我使用以下代码确定侧面板的位置和方式: var sc = Screen.FromHandle(this.Handle); var w = sc.WorkingArea.Width / 6; var h = sc.WorkingArea.Height; var x = sc.WorkingArea.Right - w; var y = sc.WorkingArea.Top; this.Size = new Size(w, h); this.Location = new Point(x, y);
var sc = Screen.FromHandle(this.Handle);
var w = sc.WorkingArea.Width / 6;
var h = sc.WorkingArea.Height;
var x = sc.WorkingArea.Right - w;
var y = sc.WorkingArea.Top;
this.Size = new Size(w, h);
this.Location = new Point(x, y);
侧面板只是另一种形式。
这工作非常好,正是我想要的。然而,我有一些程序,调整了屏幕工作区域的大小,以便其他应用程序在最大化时只占用屏幕的一个受限区域
我在网上找不到关于这个话题的任何信息,我想是因为我没有正确的术语来描述我的目标
欢迎您的任何意见 我猜您希望应用程序专门调整到某个大小并转到某个位置,而不是全屏显示 据我所知,只有在使用“Sizable”布局选项时使用自定义按钮作为调整大小控件,而不是现有的标准控件时,才可能实现此功能 您可以创建一个按钮,并将以下内容写入按钮中,然后单击“无效”:
private void button_Click(object sender, EventArgs e)
{
this.Location = new Point(/*XPosition*/, /*YPosition*/);
this.Size = new Size(/*HEIGHT*/, /*WIDTH*/);
}
这将使窗体将其位置和大小更改为所需的大小和位置
我希望我正确地理解了您,并希望这对您有所帮助。这是不可能的。设置表单的MaximumSize属性以防止其填充工作区域。对于自定义放置,您必须重写WndProc()并处理WM_GETMINMAXINFO消息。