如何显示所有结果,而不仅仅是代表计算器中的一个

珍妮95

我刚刚得到一个创建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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Jupyter中显示完整的输出,而不仅仅是最后的结果?

如何获得一个JEditorPane突出显示一行的整个宽度(而不仅仅是文本)?

显示所有Elasticsearch聚合结果/存储桶,而不仅仅是10

Tensorflow,如何访问RNN的所有中间状态,而不仅仅是最后一个状态

SQLAlchemy删除所有项目,而不仅仅是第一个

我得到的是我所有的输出,而不仅仅是一个

如何返回一个结果,其中包含结果迭代器中的每个错误,而不仅仅是第一个错误?

如何在X11上的所有Windows(不仅仅是一个窗口)中监视鼠标移动事件

如何通过defusedxml从AWS SQS API字节xml字符串响应中读取所有行,而不仅仅是第一个?

XPath提供所有属性值,而不仅仅是第一个?

获取JavaScript以选择所有元素,而不仅仅是第一个

包含参数的组件路径返回所有对象,而不仅仅是一个

将所有命令的输出重定向到文件,而不仅仅是最后一个

pf阻止所有输入/输出流量,而不仅仅是我要阻止的一个端口

数组中的所有元素都将被更新,而不仅仅是一个

ng-select会在列表中显示所有可用选项,而不仅仅是一行?

顺序显示图而不仅仅是最后一个

Jquery 问题影响所有元素,而不仅仅是一个

Spring Integration:获取聚合中涉及的所有标头,而不仅仅是最后一个

删除 Elixir 中列表元素的所有条目(不仅仅是第一个)

'onClick' 事件影响所有组件的状态,而不仅仅是一个

触发器插入所有行而不仅仅是一行

在python中,需要保存所有结果,而不仅仅是最后一个结果

提取函数中所有可能的错误,而不仅仅是第一个

正则表达式查找所有匹配项,而不仅仅是一个

如何通过discord.py dm 不和谐中的所有版主,而不仅仅是一个?

返回文件夹中的所有文件,而不仅仅是最后一个文件

React FAQ 组件扩展了所有项目,而不仅仅是一个

我如何将所有从 jpg 图像生成的哈希保存到 csv 文件中,而不仅仅是最后一个?