У меня есть MDIParent форма, содержащая предыдущие и следующие кнопки на панели инструментов. MDIChildA содержит DataGridView, а формы MDIChildB или MDIChild C отображают свойства выбранной строки в зависимости от типа строки. Все дочерние MDI-формы отображаются с помощью DocStyle.Fill.
Цель состоит в том, чтобы предыдущие и последующие кнопки вызывали методы в MDIChildA, а MDIChildA - для ссылки sh либо MDIChildB, либо MDIChild C для следующего Строка DataGridView в зависимости от типа строки.
Форма MDIChild C была недавно введена, когда в DataGridView был включен элемент второго типа. Предыдущая и следующая функции работали, когда был только один тип строки. Вот как было закодировано следующее:
В MDIParent:
Private Delegate Sub InvokePrevNext()
Private Sub tsbNext_Click(sender As Object, e As EventArgs) Handles tsbNext.Click
Try
If Not ActiveMdiChild Is Nothing Then
Dim frm As Object
frm = Me.ActiveMdiChild
Dim dlg As InvokePrevNext = AddressOf frm.MoveNext
dlg.Invoke()
End If
Catch ex As Exception
' ignore exceptions
End Try
End Sub
В MDIChildB:
Public Sub MoveNext()
Call psMovePreviousNext(pMDIChildA.NextRowPrimaryKey)
End Sub
(Когда MDIChildB был первоначально вызван, он получил MDIChildA ByRef и сохранил его ) Мне кажется, что я больше не могу использовать подход ActiveMDIChild.
Кто-нибудь может предложить подход?