计算表单大小以自动采用屏幕



我不知道我需要使用什么关键字来搜索这个,但是..

由于表单具有其WindowState属性,要使其自动最大化为任何分辨率,我希望它仅最大化到 60-80%。
你是怎么做到的?

Me.Size = MaximumSize - 20%

有这样的事情吗?

Dim PercentScreenWidth As Integer = 20
Dim PercentScreenHeight As Integer = 20
Dim CurrentScreenWidth As Integer = Screen.PrimaryScreen.Bounds.Width
Dim CurrentScreenHeight As Integer = Screen.PrimaryScreen.Bounds.Height
Dim RatioX as Double = CurrentScreenWidth * (PercentScreenWidth / 100) 
Dim RatioY as Double = CurrentScreenHeight * (PercentScreenHeight / 100)
MyForm.Width = RatioX 
MyForm.Height = RatioY 

这应该可以正常工作并解决您的所有问题。
此代码应在Form.Load中使用

经过一些测试,我发现您必须放置MyForm.ShowDialog(),以便表单实际上根据您的设置调整大小。但是,只有当您从另一个表单调用该表单时,这才能以这种方式工作,因为我找不到以这种方式调整 StartUp 表单大小的解决方案(奇怪,但确实如此)。

最新更新