当我在设计器中打开 winform 时,我想要执行代码。特别是,我希望设计器自动将工作表单的大小调整为屏幕的百分比。与此类似:
pForm.Size = New Drawing.Size(MyScreen.WorkingArea.Width * 0.75, MyScreen.WorkingArea.Height * 0.75)
除了手动修改initializecomponant例程之外,还必须有一种方法……无论如何,这都是一个坏主意,而且我不想将每个受祝福的形式中的大小属性设置为静态值
感谢您的帮助(VB.NET)
最佳答案
作为在表单设计模式下运行代码的选项,您可以将代码放在表单的基类中。
您放入表单基类中的代码将在继承表单的设计模式下运行。因此,如果您想在表单的设计模式下运行代码,您可以创建一个基本表单并从该表单继承。然后将您的代码放入基本表单的方法中。
示例
- 添加新项目并选择一个
表单
并将名称设置为MyBaseForm
。 将以下代码粘贴到
MyBaseForm.vb
中:Imports System.ComponentModel Public Class MyBaseForm Protected Overrides Sub OnSizeChanged(e As EventArgs) If DesignMode Then Dim s = New Size(My.Computer.Screen.WorkingArea.Width * 0.75, My.Computer.Screen.WorkingArea.Height * 0.75) TypeDescriptor.GetProperties(Me)("Size").SetValue(Me, s) End If MyBase.OnSizeChanged(e) End Sub End Class
- 构建项目。
- 添加新项并选择
InheritedForm
并选择MyBaseForm
作为基本表单。
关于.net - 如何在winforms的设计模式下执行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54844604/