我刚刚得到一个创建WPF应用程序的任务,该应用程序通过使用委托(公共委托void Calculation(int a,int b))来显示不同计算(+,-,/,%等)的结果。我的程序似乎只显示这些计算的最后结果,但我需要将它们全部显示在列表框中。
这是我现在的代码:
public partial class MainWindow : Window
{
public delegate string CalculateHandler(int a, int b);
public MainWindow()
{
InitializeComponent();
}
private void BtnCalculate_Click(object sender, RoutedEventArgs e) {
CalculateHandler Calculate = new CalculateHandler(Add.Addition);
Calculate += Subtract.Subtraction;
Calculate += Multi.Multiplication;
Calculate += Div.Division;
Calculate += Root.Ro;
Calculate += Mod.Modulo;
Calculate += Pot.Potency;
int a = Int32.Parse(TextBoxZahlA.Text);
int b = Int32.Parse(TextBoxZahlB.Text);
listBox.Items.Add(Calculate(a, b));
listBox.Items.Refresh();
}
}
计算之一的示例:
class Multi
{
public static string Multiplication (int a, int b)
{
string result3 = a + " * " + b + " = " + (a * b);
return result3;
}
}
}
感谢您的任何帮助!
我认为一个好的方法是创建一个列表,其中包含每个计算的处理程序。然后使用for-each循环并计算值,并将其添加到listBox。
像这样:
List<CalculateHandler> CalculateHandlers = new List<CalculateHandler>();
CalculateHandlers.Add(Add.Addition);
CalculateHandlers.Add(Subtract.Subtraction);
CalculateHandlers.Add(Multi.Multiplication);
....
int a = Int32.Parse(textBox.Text);
int b = Int32.Parse(textBox_Copy.Text);
foreach (var handler in CalculateHandlers)
{
listBox.Items.Add(handler(a, b));
}
listBox.Items.Refresh();
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句