-2

使用 Winforms C#

有没有办法重用一个方法,但是当用户在表单上选择另一个按钮时,这些方法会在旧图上添加一个图。让我再解释一下。

我有一个带有“加法”方法的课程

`double weightIn = 0.01;

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

我有两个 Btns。Btn1 和 Btn2。

当我选择 Btn1 时,我执行了该方法,结果为 0.13

我需要它,所以当我选择 Btn2 时它会发生变化,将 0.12 添加到该结果中。

另外,如果再次选择 Btn 1,我需要它回到 0.13。

我该怎么做呢?我曾尝试使用 flags1、flags2 并这样做,但没有成功。

谢谢

4

1 回答 1

1

您可以使用布尔值(标志)来确定它是否已被添加,可能会更改按钮的背景颜色以反映状态。正如其他人所说,复选框听起来更有意义,但我会在这里尽我所能。

您还可以使用与按钮相对应的双精度数组。

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;
    }
}

然后要使用它,您只需使用称重。它将添加数组的所有元素。

double MyWeight = weighin;

我没有测试任何这段代码的语法

于 2012-06-12T17:28:44.790 回答