很長一段時間,我有這個問題,所以現在如何解決,我與你分享。
如果從一種形式到另一種形式稱為窗口的窗口或者財產。顯示或ShowDialog的,直到我關閉我無法控制的主要形式,除非這兩種形式是“有關”第二種形式。 考慮一個簡單的例子來理解這個概念,以及如何解決它。
該圖像顯然是一個按鈕移動紅色面板“和一個紅色的面板的主要形式。 按四個按鈕(上,下,左,右)fomrulario打開一秒鐘。 按下任一按鈕,移動方向的紅色面板顯示。

看到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。
我希望你覺得它對於我來說是非常有用。
非常好,如果你有機會也可以解釋如何處理MDI窗體
salduso
在第二個窗口樣品的按鈕,可以指定移動鍵?
這個有趣的,但該按鈕對應的紅色框位於from1,PQ不工作的範例。