我创建了一个Form,可以将按钮动态加载到MDI Parent Form左侧的面板中。加载后,用户可以单击其中一个按钮,子窗体将加载到右侧,停靠在顶部并包含带有某些查询结果的数据网格视图。由于对接顶部属性,添加的每个子表单都位于前一个子表单的正下方。
所有这些看起来都很好,但是当打开多个子窗体时,窗体的行为是出乎意料的。如果我点击底部窗体以外的任何子窗体,它会立即将其位置移动到底部,而不是保持原位。有没有办法解决这个问题 - 或者我的代码中是否有我正在做的事情意味着这种情况正在发生 - 例如试图停靠窗口?
我的代码如下。
Private Sub TableLookupForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim mySQLString As String = "Button SQL Query"
Dim i As Integer = 0
myVector.mySQLString = mySQLString
For Each row In myVector.myIngresDataset.Tables(0).Rows
Dim myBtn As New Button
i = i + 1
myBtn.Text = row("table_name")
myBtn.Name = "Btn" & i
myBtn.Dock = DockStyle.Top
AddHandler myBtn.Click, AddressOf Me.Button_Click
Me.Panel1.Controls.Add(myBtn)
Me.Panel1.Controls.SetChildIndex(myBtn, 0)
Next
End Sub
Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim myTableForm As New TableChildForm
myTableForm.MdiParent = Me
myTableForm.Dock = DockStyle.Top
myTableForm.Tag = sender.text
myTableForm.Text = sender.text
Dim mySQLString As String = "Form SQL Query"
myVector.mySQLString = mySQLString
myTableForm.myTableData.DataSource = myVector.myIngresDataset.Tables(0)
myTableForm.Show()
End Sub
谢谢,
保罗。