2

これは私のフォーム2で、チェックボックスがあります。

ここに画像の説明を入力してください

真ん中にあるここの私のオペレーターはランダムな文字ジェネレーターを持っています、私のコードはこれです:

        char[] select = new char[] { '+', '-', '/', '%', '*' };
        var rand = new Random();
        char num = select[rand.Next(5)];
        lbloperator.Text = Convert.ToString(num);

チェックが加算のみの場合、フォーム1は加算のみを実行します。加算、減算の場合、フォーム1は加算と減算のみを実行します。これで私を助けてください!:(

FORM1

ここに画像の説明を入力してください

4

3 に答える 3

1

これを行うには2つの方法があります。

1-最初の方法は、form1にcheckBox1のステータスを通知できるform2のパブリックプロパティを定義することです。

Form2:

public bool MyCheckBoxStatus
{
    get {return checkBox1.Checked;}
}

フォーム1(例):

Form2 frm = new Form2;
frm.ShowDialog();

if (frm.MyCheckBoxStatus)
{
    //Do something...
}

2-別の方法:Windowsフォームアプリケーションを使用している場合、すべてのコントロールにModifiersという名前のプロパティがあり、その値をpublicに変更して、このコードをForm1に記述します。

Form2 frm = new Form2;
frm.ShowDialog();

if (frm.checkBox1.Checked)
{
    //Do something...
}
于 2012-11-24T16:40:06.420 に答える
0

何を求めているのか正確にはわかりませんが、フォーム間でデータを渡そうとしているようです。

Form2では、ラベルを読み取るパブリックプロパティを追加できます

public string TheOperator {
    get { return lblOperator.Text; }
}

次に、Form1から、form2の新しいインスタンスを作成し、必要に応じてプロパティを参照できます。

Form2 fm = new Form2();
fm.Show();
string theOp = fm.TheOperator;

//////////

編集への応答:これをForm1に追加して、そこで演算子変数を公開できます。

public string MyOperator {
    get { return lblOperator.Text; }
    set {
                lblOperator.text = value;
                //You can perform any updates to 
                //your calculations here, or call 
                //another method to do so
        }
}

private void OpenForm2()
{
    Form2 frm2 = new Form2(this);
    frm2.Show();
}

次に、Form2内で、Form1への参照を渡して、パブリックプロパティにアクセスできるようにします。

private Form1 frm;
public New(Form1 _frm)
{
    frm = _frm;
}

private void UpdateOperator()
{
    //call this method, calculating your operator and then
        //set the operator on the first form (variable frm) to
        //What you need it to do
    frm.MyOperator = lblOperator.Text;
}
于 2012-11-24T15:29:33.390 に答える
0

これを試して:

public partial class Form2: Form
{
public string checkBoxSelected = "";
}


public partial class Form1 : Form
{
private void MakeResult()
{
Form2 result = new Form2();
result.checkBoxSelected = "+";
result.Show();
}
}
于 2012-11-24T15:30:49.053 に答える