我想知道是否有办法在C#中调整表单的大小,而不是使用像素?例如,Form1填充屏幕宽度的75%和屏幕高度的80%?我已经尝试了一下阅读用户屏幕分辨率,然后从那里进行调整,但我正在寻找一种不同的方法。我想这样做以解决不同屏幕分辨率的问题,所以我不必使用滚动条。有没有办法做到这一点,还是我应该保留我的卷轴?
答案 0 :(得分:2)
您希望使用加载事件,这样您就不会受到自动表单缩放的影响。像这样:
protected override void OnLoad(EventArgs e) {
var scr = Screen.FromPoint(this.Location);
this.Size = new Size((int)(scr.WorkingArea.Width * 0.75),
(int)(scr.WorkingArea.Height * 0.80));
this.Location = new Point((scr.WorkingArea.Width - this.Width) / 2,
(scr.WorkingArea.Height - this.Height) / 2);
base.OnLoad(e);
}
答案 1 :(得分:1)
您可以使用以下方式获取屏幕分辨率:
Rectangle rect = Screen.AllScreens[0].Bounds;
//Maybe you need to use WorkingArea instead of Bounds.
从那里你可以使用你想要的80%。更多信息请访问:http://msdn.microsoft.com/en-us/library/system.windows.forms.screen.aspx