相關的Windows窗體

很長一段時間,我有這個問題,所以現在如何解決,我與你分享。

如果從一種形式到另一種形式稱為窗口的窗口或者財產。顯示或ShowDialog的,直到我關閉我無法控制的主要形式,除非這兩種形式是“有關”第二種形式。 考慮一個簡單的例子來理解這個概念,以及如何解決它。

該圖像顯然是一個按鈕移動紅色面板“和一個紅色的面板的主要形式。 按四個按鈕(上,下,左,右)fomrulario打開一秒鐘。 按下任一按鈕,移動方向的紅色面板顯示。

Formulariosconectados

看到Form1的代碼

公共類Form1
    私人小組中button1_Click(0 System.Object的,BYVAL e由於發件人)把手Button1.Click
        作為新Form2的點心vfrmForm2
         vfrmForm2.formulario1 =
         vfrmForm2.ShowDialog()
     END SUB
末級

和代碼的Form2

公共類Form2的

    作為Form1的Form1的公共

     BtnArriba_Click私人小組(作為System.Object的,BYVAL e由於的BYVAL發件人)處理btnArriba.Click
         formulario1.Panel1.Top formulario1.Panel1.Top =  -  1
     END SUB

     BtnDerecha_Click私人小組(作為System.Object的,BYVAL e由於的BYVAL發件人)處理btnDerecha.Click
         formulario1.Panel1.Left = formulario1.Panel1.Left +1
     END SUB

     BtnAbajo_Click私人小組(作為System.Object的,BYVAL e由於的BYVAL發件人)處理btnAbajo.Click
         formulario1.Panel1.Top = formulario1.Panel1.Top +1
     END SUB

     BtnIzquierda_Click私人小組(作為System.Object的,BYVAL e由於的BYVAL發件人)處理btnIzquierda.Click
         formulario1.Panel1.Left formulario1.Panel1.Left =  -  1
     END SUB
末級

正如你可以看到並不需要太多的代碼“連接”的形式。 此外,我們對每個表單只需要一個額外的行。 Form2中,我將突出以下聲明:作為公共Form1的Form1和Form1的vfrmForm2.formulario1 =我。 這會導致掛宣布Form2的Form1的Form1的實例在內存。 從這裡,我可以涉及任何Form1的控制工作,如簡單地調用它formulario1.panel1 PANEL1。

我希望你覺得它對於我來說是非常有用。

“Windows窗體相關”

  1. josel說:

    非常好,如果你有機會也可以解釋如何處理MDI窗體

    salduso

  2. 羅米納說:

    在第二個窗口樣品的按鈕,可以指定移動鍵?

  3. 萊昂內爾說:

    這個有趣的,但該按鈕對應的紅色框位於from1,PQ不工作的範例。

評論