我想要做一個簡單的Windows窗體應用程序,它將根據前面的元素的值顯示不同的選項 - 例如,我在窗體頂部有四個單選按鈕,每一個都會顯示和隱藏表單中的各種其他元素 - 實質上是將多個表單合併在一起。有條件地顯示/隱藏Windows窗體元素
我有這個成立於一大條件語句(這只是一小部分,但它是所有類似):
private void Payment_Load(object sender, EventArgs e)
{
if (rdoMultChoice.Checked)
{
lblGroupBox1_MC.Visible = true;
lblGroupBox1_FITB.Visible = false;
lblGroupBox1_TF.Visible = false;
// etc...
}
else if (rdoFillInBlank.Checked)
{
lblGroupBox1_MC.Visible = false;
lblGroupBox1_FITB.Visible = true;
lblGroupBox1_TF.Visible = false;
// etc...
}
問題是,當我運行應用程序的形式完全忽略這些聲明,似乎只是使我的所有元素可見。
http://msdn.microsoft.com/en-us/library/754w18dd.aspx
此鏈接是有點相似,我的需求。我試圖將它適應於我的情況,但它似乎沒有工作(不能保證我做對了......)。
看起來像這樣應該是一件非常簡單的事情,但我是C#的新手,並且本週纔開始使用它 - 這是一個CS類的任務。只是咆哮,我們有望在15周內用13種語言發展「專業知識」!由於大學提供的資源非常少,迄今爲止,我所開發的唯一專業知識是搜索文檔和堆棧溢出!我會做:)
是的,這是最可能的解釋。 Payment.Load事件實際上並沒有連接到您的處理程序。這不會在C#中自動發生,就像在VB.NET中一樣。 – 2012-03-17 10:56:12
看起來這很可能是問題,你能否解釋鏈接事件和監聽器的最佳方式?我應該在付款加載還是在我的main()中執行此操作? – user1275567 2012-03-18 00:23:28
@user:在「付款」表單的***構造函數***中執行此操作。這是簽名爲Payment()的方法。現在,它可能包含一行代碼:調用InitializeComponent方法。 – 2012-03-18 07:22:11