Правильный способ вызова MdiChild из другой формы MdiChild в VB.NET - PullRequest
0 голосов
/ 26 апреля 2019

В настоящее время я определяю, что форма является MdiChild, объявив ее в самой форме MdiChild с помощью кода:

Private Sub form_Load(sender As Object, e As EventArgs) Handles Me.Load
    Me.MdiParent = MainForm     'MainForm is the MdiParent for all
End Sub

Я также использовал:

Public Sub New()
    Me.MdiParent = MainForm
    InitializeComponent()
End Sub

Кажется, что обаоткрыть форму как MdiChild, но оба метода имеют некоторые проблемы.

При использовании Me.Load мне кажется, что экран немного мерцает (даже с двойной буферизацией).

Когда я использую InitializeComponent (), переход от формы к форме кажется более плавным, ноиногда Form1 вырывается из контейнера MdiParent при возврате в него из Form2 по причинам, которые я пока не вижу.

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

Me.Hide      'Form1
Form2.Show()

затем вернусь к первой форме

Me.Close      'Form2
Form1.Show

Должен ли я объявить Form2 как MdiChild при вызове его в Form1, как это?

Me.Hide      'Form1
Form2.MdiParent = MainForm
Form2.Show()

После поиска в Интернете, я до сих пор не знаю, как правильно сделать это.Любая помощь приветствуется!

...