-2

Winforms C#の使用

メソッドを再利用する方法はありますが、ユーザーがフォーム上の別のボタンを選択すると、メソッドは古い図に図を追加します。もっと説明させてください。

メソッド「Addition」のクラスがあります

`double weightIn = 0.01;

public double addition(double weightOut)
{
    return weightOut = (weightIn + 0.12);
}`

私は2つのBtnsを持っています。Btn1およびBtn2。

Btn1を選択すると、メソッドが実行され、0.13の結果が得られます。

私はそれが必要なので、Btn2を選択すると変化し、その結果に0.12が追加されます。

また、Btn 1を再度選択した場合は、0.13に戻す必要があります。

どうすればこれを行うことができますか?私はflags1、flags2を使用してそのように試しましたが、成功しませんでした。

ありがとう

4

1 に答える 1

1

ブール値 (フラグ) を使用して、ボタンが既に追加されているかどうかを判断できます。ボタンの背景色を変更してステータスを反映させることができます。他の誰かがすでに述べたように、チェックボックスの方が理にかなっているように聞こえますが、ここでできることをします。

ボタンに対応する double の配列を使用することもできます。

double[] bttn=new double[6]{0,0,0,0,0,0};

double weighin {get { 
                      double temp=0;
                      foreach (double d in bttn) 
                      temp=temp+d;
                      return d;
                     }
                }

次に、ボタンクリックイベントで

private void Button_Click(object sender, EventArgs e)
{
    switch ((Control)sender).Name)
    {
        //so what happens here is, if the value is 0 make it the value indicated else make it 0
        case "Button0":bttn[0] = bttn[0]==0 ? 0.01 : 0;
                       break;
        case "Button1":bttn[1] = bttn[0]==0 ? 0.12 : 0;
                       break;
        case "Button2":bttn[2] = bttn[0]==0 ? 0.24 : 0;
                       break;
        case "Button3":bttn[3] = bttn[0]==0 ? 0.48 : 0;
                       break;
        case "Button4":bttn[4] = bttn[0]==0 ? 0.96 : 0;
                       break;
        case "Button5":bttn[5] = bttn[0]==0 ? 1.92 : 0;
                       break;
    }
}

次に、それを使用するには、単に weightin を使用します。配列のすべての要素を追加します。

double MyWeight = weighin;

このコードの構文はテストしていません

于 2012-06-12T17:28:44.790 に答える