Antwi Ответов: 1

Включить элементы menustrip


Я могу загрузить дочернюю форму и отключить элементы Menustrip на родительской с помощью этого кода:

Dim ge As New GenerateID
    ge.TopLevel = False
    Me.GBempIDcard.Controls.Add(ge)
    ge.StartPosition = FormStartPosition.CenterParent
    ge.Show()
    MenuS.Enabled = False



Пожалуйста, кто-нибудь может помочь мне с тем, как включить элементы menustrip, когда я нажимаю кнопку закрыть на дочерней форме в vb?

Что я уже пробовал:

Я пытался:

Private Sub btnexit_Click(sender As Object, e As EventArgs) Handles btnexit.Click
       Me.Close()
       empIDcards.MenuS.Enabled = True

   End Sub

Но это не позволяет

1 Ответов

Рейтинг:
2

OriginalGriff

Не пытайтесь так-вам понадобится экземпляр родительской формы, чтобы заставить ее работать, а ребенок даже не должен знать о существовании родителя, не говоря уже о том, что у него есть меню.

Вместо этого создайте событие в дочерней форме, которое обрабатывается в родительской. Затем родитель включает и отключает свое собственное меню по мере необходимости.
Это звучит сложно, но на самом деле это не так - это всего лишь несколько строк кода. Это показывает, как это сделать в C#: Передача информации между двумя формами, Часть 2: Ребенок-Родитель[^]- но принцип точно такой же, как и у онлайн-конвертеров типа Преобразователь Кода Телерика[^] должно помочь, если вы не можете разобраться.
События также освещаются на MSDN: Как добавить события в класс[^]