我遇到的问题是我在主屏幕上使用了menustrip,并且所有标签/按钮都在工作,除了一个,而不是打开我想要的表格,它会在向表单添加任何内容之前打开您看到的标准,简单的标准。如果我更改了我希望它打开的表单标识符,那么它可以工作,而不是使用此表单。有人知道为什么吗?这里的顶级子程序是有问题的,下面的一个是工作的。
Private Sub SupportIncidentsToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles SupportIncidentsToolStripMenuItem.Click
Dim f As frmIncidents
f = New frmIncidents(con, AccCon)
f.Show()
End Sub
Private Sub EmailLogsToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles EmailLogsToolStripMenuItem.Click
Dim f As frmEmailLogs
f = New frmEmailLogs(con)
f.MdiParent = Me
f.Show()
End Sub
答案 0 :(得分:2)
使用此行,您将调用带有2个参数的构造函数
f = New frmIncidents(con, AccCon)
所以在你的frmIncidents类中你手动添加了一个像这样的构造函数
Public Sub frmIncidents(con as WhatEverConIs, Acon as WhatEverAConIs)
End Sub
但是每个表单构造函数都应该调用InitializeComponent
方法,该方法是由WinForms Designer自动创建的方法,其中包含表单控件的声明和通过设计器设置的相对属性。
请参阅Very simple definition of InitializeComponent
手动添加此构造函数并查看调用Show方法时显示的空白表单我非常确定您忘记将调用添加到InitializeComponent
Public Sub frmIncidents(con as WhatEverConIs, Acon as WhatEverAConIs)
InitializeComponent()
End Sub
答案 1 :(得分:0)
最后,答案是我的班级中有两个相互覆盖的构造函数,因此显示的是普通表单,而不是我设计的第一个构造函数所显示的形式。