VB.net - 在表单之间读取单选按钮的问题

时间:2011-11-14 03:57:20

标签: vb.net radio-button

我有一个基本的数学测试程序和2个表单,允许用户选择要测试的功能。

第一个表单包含一个带有4个基本数学函数的单选按钮列表和一个用于加载下一个表单的按钮。 第二个表单在Load ...

中包含此代码
    '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中属性的Checked字段,它将转到表单2。 但是,如果我使用单选按钮选择不同的选项,请使用表单1中的默认选项形成2个。

修改

根据输入更改了几行,但仍然遇到此问题。 我会再次经历它。

  1. frmOptions有4个单选按钮,默认选择加法。
  2. 选择一个后,用户点击按钮打开frmTest。
  3. 以上代码在首次加载时运行,以更改标签以反映上面frmOption上选择的内容。
  4. 在步骤3中,根据frmOption中的Checked单选按钮应该更改的frmTest上的标签永远不会改变。它甚至没有在表单的第一次加载时改变,所以我认为单选按钮的Checked属性出了问题。

    希望这可以解决一些问题。

4 个答案:

答案 0 :(得分:0)

似乎没有足够的信息可以确定。

听起来你的第一个表单是第一次使用值加载第二个表单,但是在后续调用中它不会加载第二个表单,因为它已经加载了。这听起来不错吗?

如果是这样,那么你可能在第一个表单上设置了传递给第二个表单的值。而是在第二个表单上创建属性并首先加载它。然后让第一个表单操纵这些属性。

答案 1 :(得分:0)

尝试在单选按钮更改时触发事件,而不是在加载form2时触发。

答案 2 :(得分:0)

尝试使用Form2.Shown事件代替Form2.Load

表单只加载一次,但可以多次显示。

答案 3 :(得分: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