2011-11-14 9 views
1

私は基本的な数学テストプログラムと、テストする関数を選択するための2つのフォームを持っています。VB.net - フォーム間でラジオボタンを読む際の問題

最初のフォームには、4つの基本的な数学関数を含むラジオボタンのリストと、次のフォームをロードするボタンがあります。 二番目の形式は、私は、フォーム1のプロパティでチェックフィールドを変更した場合、それは私が別のを選択するラジオボタンを使用する場合は2 を形成するために渡し

'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.

EDIT

からデフォルトの選択とオプション、フォーム2本のスティックは、入力からベースの数行を変更しましたが、まだこの問題を持ちます。 私はもう一度それを実行します。

  1. frmOptionsには4つのラジオボタンがあり、デフォルトで追加されます。
  2. 1つを選択すると、frmTestを開くためにボタンをクリックします。
  3. 上記のコードは、上記のfrmOptionで選択された内容を反映するためにラベルを変更するための最初の読み込み時に実行されます。

手順3では、frmOptionのチェック付きラジオボタンに基づいて変更されるはずのfrmTestのラベルは変更されません。フォームの最初の読み込みでも変更されないので、ラジオボタンのCheckedプロパティに何か問題があると思います。

これにより、少し上がクリアされることを願っています。

+0

を試してみましたロードされた? – Cody

+0

私はform1上の4つのオプションから1つを選択し、form1を隠すボタンをクリックしてform2を開きます。 – substream

答えて

0

確かに知るには十分な情報がないようです。

最初のフォームは、最初に値を持つ2番目のフォームをロードしているようですが、その後の呼び出しでは2番目のフォームがロードされているためロードされません。それは正しいと思いますか?

もしそうなら、おそらく最初のフォームの値を2番目のフォームに渡すことになります。代わりに、2番目のフォームにプロパティを作成し、最初にロードします。最初のフォームでこれらのプロパティを操作します。

0

form2が読み込まれる代わりにラジオボタンが変更されたときにイベントを発生させてみてください。

0

Form2.Loadの代わりにForm2.Shownイベントを使用してみてください。

フォームは1回だけロードされますが、何度も表示することができます。

0

あなたは「フォーム1からデフォルトの選択とフォーム2本のスティックは、私は別のオプションを選択するラジオボタンを使用する場合は、」フォーム2が持っている後、あなたが意味するか、あなたが何を意味するん

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

フォーム2のLoadイベントでラジオボタンに対応するコードを追加しないようにしてください。それがラベルが変わっていない理由かもしれません。 –

関連する問題