Свързване на Windows Forms

За дълго време имах този проблем, така че сега как да се реши, че споделям с вас.

Ако от една форма в друга форма, наречена Windows Windows или собственост. Покажи или. ShowDialog, докато не затворите втората форма, че нямам контрол на основната форма ... освен тези две форми са "свързани". Да разгледаме един прост пример, за да се разбере концепцията и как да го разрешите.

Изображението е ясно основна форма с бутон "Move червения панел" и червен панел. Натискането на fomrulario открита една секунда с четири бутона (нагоре, надолу, наляво и надясно). Натискането на един от бутоните, че не е преместване на червения панел в посоката, указана.

Formulariosconectados

вижте код на Form1

 Общественото клас Form1
     Лично за Sub Button1_Click (ByVal подателя като System.Object, ByVal Е, System.EventArgs) Дръжки Button1.Click
         Нова Form2 Дим vfrmForm2
         vfrmForm2.formulario1 = I
         vfrmForm2.ShowDialog ()
     End Sub
 Край клас

и код на Form2

 Общественото клас Form2

     Form1 Като Form1 Public

     BtnArriba_Click Private Sub (ByVal изпращача Като System.Object, ByVal Е, System.EventArgs,) Дръжки btnArriba.Click
         formulario1.Panel1.Top formulario1.Panel1.Top = - 1
     End Sub

     BtnDerecha_Click Private Sub (ByVal изпращача Като System.Object, ByVal Е, System.EventArgs,) Дръжки btnDerecha.Click
         formulario1.Panel1.Left = formulario1.Panel1.Left + 1
     End Sub

     BtnAbajo_Click Private Sub (ByVal изпращача Като System.Object, ByVal Е, System.EventArgs,) Дръжки btnAbajo.Click
         formulario1.Panel1.Top = formulario1.Panel1.Top + 1
     End Sub

     BtnIzquierda_Click Private Sub (ByVal изпращача Като System.Object, ByVal Е, System.EventArgs,) Дръжки btnIzquierda.Click
         formulario1.Panel1.Left formulario1.Panel1.Left = - 1
     End Sub
 Край клас

Както можете да видите не взема много код, за да "свърже" форми. Освен това, ние трябва само един допълнителен ред на всеки формуляр. В Form2 ще подчертае следното изявление: Публичен Form1 като Form1 и Form1 vfrmForm2.formulario1 = Me. Това причинява на Form1 инстанция в паметта е свързана с обявена Form2 Form1. От тук може да се отнася и работи с която и да е контрол Form1, като просто го призовава formulario1.panel1 panel1.

Надявам се, че е толкова полезен, с него е за мен.

3 коментара към "Форми на Windows се отнасят"

  1. Josel каза:

    Много добро, също и ако имате възможност, бихте могли да обяснят как да се справят Form MDI

    Salduso

  2. Ромина казва:

    бутони във втория проби прозорец може да се задава движение на ключовете?

  3. Леонел казва:

    тази интересна, но този бутон съответства на червената кутия, намираща се в from1, PQ не работи например.

Коментар