我正在使用DataGrid控件处理WinForms应用程序。我使用BindingSource作为数据源,并在 Form_Shown 事件中初始化了 BindingSource.DataSource 。父表已正确加载但未加载子表。 如果我在Form_Load事件中初始化BindingSource.DataSource,它运行正常,没有问题。
为什么在Form_Shown和Form_Load事件中使用BindingSource会发生这种差异?
请让我知道原因。 `
Form1.Designer.vb
Me.DataGridView.DataSource = Me.BindingSource1
Form1.vb的
Private Sub Form1_Shown(sender As Object, e As EventArgs) Handles Me.Shown
''Does not work
BindingSource1.DataSource = ParentList.FetchMaintenance
''Does work
DataGridView.DataSource = ParentList.FetchMaintenance
End Sub
答案 0 :(得分:0)
根据MSDN:
Form_Load或Load事件发生在显示表单之前 第一次。
虽然
只有在第一次显示表单时才会显示“已显示”事件。
也许是因为表单没有加载你的绑定源,这就是为什么它没有加载Shown事件。因为没有显示。