如何将文本框的值(字符串)传递给 C# 中的构造函数

本文关键字:构造函数 文本 字符串 | 更新日期: 2023-09-27 17:56:13

对于下面的程序,我假设创建一个对复数执行运算的类WComplex。我做到了,它工作得很好。此外,我必须创建一个具有3个文本框(value1value2result),4个操作按钮(+,-,*,/)的简单计算器的Windows窗体应用程序。这将使用 WComplex 类(通过将其添加为新的现有项)。

我在下面的代码中遇到的问题,例如,我尝试将第一个文本框中的数字(值 1)传递给 num1(所以我执行操作),如下所示:WComplex num1 = new WComplex(textBox1.Text);,我收到一个错误,WComplex接受两个参数(实数,虚构)。但是如何从文本框(v alue 1)中读取表单(a+bi)的值并将其拆分为2个参数或值?另外,我必须向每个特定的按钮单击添加哪段代码才能使其具有指定的操作?要求对以下评论进行任何澄清。

**[更新] - 所以我已经弄清楚如何使用拆分和分隔符传递这两个值,请参阅下面的button1_click(添加),但我仍然收到调试错误

Using WComplexClass;
namespace WindowsFormsApplication1
{
    public partial class Calculator : Form
    {
    public Calculator()
    {
        InitializeComponent();
    }
    // ---------------------------------------------------------------------------
   // ---------------------------------------------------------------------------
    private void textBox1_TextChanged(object sender, EventArgs e)
    {
        //text box (value 1)
    }
    private void textBox2_TextChanged(object sender, EventArgs e)
    {
        //text box (value 2)
    } 
    private void textBox3_TextChanged(object sender, EventArgs e)
    {
        //text box (result)
    }
    private double button1_Click(object sender, EventArgs e)
    {
        //addition
         string t = textBox1.Text;
        string[] split = t.Split('+');
        double num1 = Double.Parse(split[0]);
        double num2 = Double.Parse(split[1]);
        string t2 = textBox1.Text;
        string[] split2 = t2.Split('+');
        double num3 = Double.Parse(split2[0]);
        double num4 = Double.Parse(split2[1]);
        WComplex num5 = new WComplex(num1,num2);
        WComplex num6 = new WComplex(num3,num4);
        WComplex sum = num5 + num6;
    } 
    private void button2_Click(object sender, EventArgs e)
    {
        //subtraction

    }
    private void button3_Click(object sender, EventArgs e)
    {
        //multiplication

    } 
    private void button4_Click(object sender, EventArgs e)
    {
        //division
    }
    private void Calculator_Load(object sender, EventArgs e)
    {
    }
}
}

如何将文本框的值(字符串)传递给 C# 中的构造函数

你几乎回答了你自己的问题。 如果用户在文本框中输入类似"a+bi"的内容,则可以使用 String.Split 将其拆分为"+"。 您还应该验证和分析数据,以便可以将int值传递给构造函数,而不是string值,这些值可以是任何文本。