2011-11-14 48 views
1

我有一個基本的數學測試程序和2個表單,允許用戶選擇要測試的功能。VB.net - 閱讀表單之間單選按鈕的問題

第一種形式有一個單選按鈕列表,包含4個基本的數學函數和一個用於加載下一個表單的按鈕。 第二種形式包含的裝入此代碼...

'Change function sign to reflect chosen option 
    If frmOptions.rdoAdd.Checked Then 
     lblFunc.Text = "+" 
    ElseIf frmOptions.rdoSub.Checked Then 
     lblFunc.Text = "-" 
    ElseIf frmOptions.rdoMult.Checked Then 
     lblFunc.Text = "x" 
    ElseIf frmOptions.rdoDiv.Checked Then 
     lblFunc.Text = "÷" 
    End If 

如果我更改形式1中的屬性中的經過字段,它通過形成2 但是如果我使用單選按鈕來選擇不同的選項,表格2支使用默認選項,從表格1

編輯

改變從基於輸入幾行,但還是有這個問題。 我會再次穿過它。

  1. frmOptions有4個單選按鈕,默認選擇添加。
  2. 選擇一個後,用戶點擊一個按鈕打開frmTest。
  3. 上面的代碼在第一次加載時運行,以更改標籤以反映上面frmOption上選擇的內容。

在步驟3上,應該根據frmOption中的Checked單選按鈕更改的frmTest上的標籤不會更改。它在表單的第一次加載時甚至不會改變,所以我認爲單選按鈕的Checked屬性有問題。

希望這可以清理一些東西。

+0

你是什麼意思「但是,如果我使用單選按鈕來選擇不同的選項,表格2支使用默認選項,從表格1」你的意思後,形式2具有裝? – Cody

+0

我從form1上的4個選項中選擇一個,單擊隱藏form1並打開form2的按鈕。 – substream

回答

0

似乎沒有足夠的信息來確認。

這聽起來像你的第一種形式是第一次加載第二個窗體的值,但隨後的調用它不加載第二個窗體,因爲它已經加載。這聽起來正確嗎?

如果是這樣,那麼你可能會設置第一個窗體上的值傳遞給第二個窗體。相反,在第二個窗體上創建屬性並首先加載它。然後讓第一個表單處理這些屬性。

0

嘗試在單選按鈕更改而不是當form2加載時觸發事件。

0

嘗試使用Form2.Shown事件而不是Form2.Load

一個表格只加載一次,但可以顯示多次。

0

你試過

If My.Forms.Form1.Radiobutton_Name.Checked = True Then 
    lblFunc.Text = "+" 
ElseIf My.Forms.Form1.Radiobutton_Name.Checked = True Then 
    lblFunc.Text = "-" 
ElseIf My.Forms.Form1.Radiobutton_Name.Checked = True Then 
    lblFunc.Text = "x" 
ElseIf My.Forms.Form1.Radiobutton_Name.Checked = True Then 
    lblFunc.Text = "÷" 
End If 
+0

儘量不要在form 2 Load事件中添加對應於單選按鈕的任何代碼。這可能是標籤不變的原因。 –