我有以编程方式创建的表格。
公开声明:
Public Form As Form
此代码位于sub
内部 Dim Form As New Form With
{
.BackColor = Color.FromArgb(45, 45, 58),
.StartPosition = FormStartPosition.CenterScreen,
.FormBorderStyle = FormBorderStyle.None,
.Size = New Size(546, 244)
}
当我尝试在运行时通过单击按钮来调整此表单的大小时:
Form.Size = New Size(546, 455)
Form.Refresh()
它不起作用。
编辑:
我试图将'Form'
重命名为'MyForm'
,但没有任何反应。
EDIT2:我正在创建我的自定义消息框。我已经创建了模块,并且在该模块内的是子CreateMsgBox(text As String, type As MsgType, Optional ex As String = "")
,在这个子代码中是生成我的表单的代码。在此代码之后,还以编程方式创建了一些AddHandler
事件,例如Button_Click()
btw按钮。我试图将Form.Size
更改为Form.Location
,以验证按钮事件是否起作用,但位置仅对尺寸无效。
PS:Ahmed Abdelhameed如果我将MyForm As New Form With
替换为MyForm = New Form With
它破坏了我移动表单的代码。
表单仍然没有调整大小。
因为我没有课程,所以我不能使用Me
。
有什么想法怎么做?
预先感谢。
答案 0 :(得分:2)
这里的问题是,您有一个对表单的类级别引用,但是在实例化它时,您正在创建一个具有相同名称的局部变量,该局部变量遮蔽了一个类级别。我为表单使用了变量名_window
来编写您的代码,以免将其与其他任何内容混淆,如下所述
Private _window As Form
创建它时,我有以下代码...
_window = New Form With
{
.BackColor = Color.FromArgb(45, 45, 58),
.StartPosition = FormStartPosition.CenterScreen,
.FormBorderStyle = FormBorderStyle.None,
.Size = New Size(546, 244)
}
_window.Show()
然后在调整大小时,在具有运行它的代码的表单中单击一个按钮,然后执行此操作...
_window.Size = New Size(546, 455)
我没有使用刷新,创建的表单正在按预期调整大小。