就像标题说的那样,我显示了一个 Child 表单,它的 TopLevel 属性设置为 False,我无法单击它包含的 MaskedTextBox 控件(以便将焦点集中在它上面)。不过,我可以通过在键盘上使用 TAB 来集中注意力。
子窗体包含其他常规的 TextBox 控件,我可以毫无问题地单击这些控件来聚焦,尽管它们也表现出一些奇怪的行为:例如,如果我在 Textbox 中有一个值并且我尝试从末尾拖动单击字符串开始,没有任何反应。事实上,我根本无法使用鼠标在 TextBox 的文本中移动光标(尽管它们可以使用键盘箭头键)。
我不太担心奇怪的 TextBox 行为,但为什么我不能通过单击来激活我的 MaskedTextBox?
下面是显示表单的代码:
Dim newReportForm As New Form
Dim formName As String
Dim FullTypeName As String
Dim FormInstanceType As Type
formName = TreeView1.SelectedNode.Name
FullTypeName = Application.ProductName & "." & formName
FormInstanceType = Type.GetType(FullTypeName, True, True)
newReportForm = CType(Activator.CreateInstance(FormInstanceType), Form)
Try
newReportForm.Top = CType(SplitContainer1.Panel2.Controls(0), Form).Top + 25
newReportForm.Left = CType(SplitContainer1.Panel2.Controls(0), Form).Left + 25
Catch
End Try
newReportForm.TopLevel = False
newReportForm.Parent = SplitContainer1.Panel2
newReportForm.BringToFront()
newReportForm.Show()