2017-04-15 18 views
0

所以我有如下形式:vb.net按鈕能見度基於複選框

Public Class IPADSOFT 

Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click 
    IPADSOFTTS.Show() 
End Sub 

Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click 
    Me.Hide() 
End Sub 

Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click 
    HOME.Show() 
    Me.Hide() 
End Sub 
End Class 
,其具有3個複選框標記IPADSOFTBOX1,IPADSOFTBOX2,IPADSOFTBOX3 所以...我有另一個形式如下

Public Class IPADSOFTTS 
Private Sub onload() 
    If IPADSOFT.IPADSOFTBOX1.Checked Then 
     Button1.Visible = True 
     Button3.Visible = True 
     Button5.Visible = True 

    End If 
End Sub 
Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click 
    Me.Hide() 
End Sub 

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click 

End Sub 

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 

End Sub 

Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click 
    HOME.Show() 
    IPADSOFT.Hide() 
    Me.Hide() 

End Sub 
End Class 

現在的想法是,第二個窗體上的所有按鈕都設置爲visible-false,我希望頁面檢查最後一個窗體上的哪些複選框已被選中,然後使此窗體上的所需按鈕可見。 。但它不工作

我在做什麼錯?我道歉即時通訊非常非常新到VB.NET

+0

你的第二種形式的'onload'方法不會被魔法調用。如果你想在表單加載的時候完成某些事情,那麼你需要處理該表單的'Load'事件處理程序。另外,如果你想測試三個不同的CheckBoxes,你應該沒有三個If塊嗎?最後,如果第一個表單是其類型的默認實例,那麼'If'語句纔會起作用。是嗎?它是如何顯示在第一位?如果它是項目的啓動形式,那麼它是一個默認實例。 – jmcilhinney

+0

所以我將如何處理加載事件,也沒有它不是默認實例。那麼我必須參考以前的表格,我將如何去做。 –

+0

「我將如何處理加載事件」當您搜索網絡時,您對關於該主題的信息有什麼不瞭解? – jmcilhinney

回答

0

打開第二種形式與此

Dim newForm As New IPADSOFTTS With 
      {.MainForm = Me} 
      newForm .Show() 

設置Public MainForm As IPADSOFT的第二種形式

然後在Load事件使用Public Class下面

if MainForm.IPADSOFTBOX1.Checked = true then 
         'Do whatever 
         End if 
+0

謝謝。這對我來說更有意義 –