如何在winforms的设计模式下执行代码

问题描述 投票:1回答:1

我想在设计师中打开winform时执行代码。特别是,我希望设计师自动将工作表单的大小调整为我的屏幕的百分比。与此类似:

pForm.Size = New Drawing.Size(MyScreen.WorkingArea.Width * 0.75, MyScreen.WorkingArea.Height * 0.75)

除了手动修改initializecomponant例程之外,还有一种方法......无论如何这都是个坏主意,我不想将每个祝福形式的size属性设置为静态值

感谢您的帮助(VB.NET)

.net vb.net winforms windows-forms-designer designer
1个回答
1
投票

作为在表单的设计模式下运行代码的选项,您可以将代码放在表单的基类中。

放在表单基类中的代码将在继承表单的设计模式下运行。因此,如果您希望在表单的设计模式下运行代码,则可以创建基本表单并从该表单继承。然后将您的代码放在基本表单的方法中。

  1. 添加新项并选择一个Form并将名称设置为MyBaseForm
  2. 将以下代码粘贴到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
  3. 建立项目。
  4. 添加新项并选择一个InheritedForm并选择MyBaseForm作为基本形式。
© www.soinside.com 2019 - 2024. All rights reserved.