C# 如何在textbox中输入值并将其作为参数传递到函数中以给出返回结果

C# 如何在textbox中输入值并将其作为参数传递到函数中以给出返回结果,c#,winforms,C#,Winforms,我有一个名为class 1的类,其函数如下所示,还有一个form1类似于照片中的 我想知道如何将值放入文本框中,并将这些值发送到此类中的此函数,以给出一个结果,我希望该结果出现在表单1result的最后一个文本框中 public class class1 { public double func(string A, double b, double c, double d, double e) { if (A == "c") {

我有一个名为
class 1
的类,其函数如下所示,还有一个
form1
类似于照片中的
我想知道如何将值放入文本框中,并将这些值发送到此类中的此函数,以给出一个结果,我希望该结果出现在
表单1
result的最后一个文本框中

public class class1
{
    public double func(string A, double b, double c, double d, double e)
    {  

        if (A == "c")
        {
            res= b-c/d-e;
        }
        else if (A == "p")
        {
            res = b+c/d+e;
        }
        return res;
    }
}

首先,您需要为按钮创建一个事件。如果您使用的是WinForms,只需双击按钮,就会自动为您创建一个新的单击事件

将以下代码粘贴到内部,并根据变量进行更改

string a = TextBox_A.Text;
int b = Convert.ToDouble(TextBox_B.Text);
int c = Convert.ToDouble(TextBox_C.Text);
int d = Convert.ToDouble(TextBox_D.Text);
int e = Convert.ToDouble(TextBox_E.Text);  
YourTextBox.Text = func(a,b,c,d,e).ToString();
最终应该是这样的:

private void ButtonSubmit_Click(object sender, Eventargs e)
{
    string a = TextBox_A.Text;
    int b = Convert.ToDouble(TextBox_B.Text);
    int c = Convert.ToDouble(TextBox_C.Text);
    int d = Convert.ToDouble(TextBox_D.Text);
    int e = Convert.ToDouble(TextBox_E.Text);
    YourTextBox.Text = func(a,b,c,d,e).ToString();
}

onClick事件方法添加到结果按钮的onClick事件处理程序:

private void SubmitButton_Click(object sender, EventArgs e){
    if (A== "c")
       res= b-c/d-e;            
    else if (A== "p")         
       res= b+c/d+e;
    textBox_result.Text = res;
)

其中textBox\u result是要在其中显示结果的文本框的名称。

为什么要从其他类访问文本值?一般来说,您不应该从外部类访问文本框,因为您还可以看到文本框是受保护的字段,因此无法从外部类访问。我建议您在Form1类中这样做(在SubmitButton上创建一个click事件):

如果您真的想更改另一个类的值,那么应该在Form1中添加一个公共函数,用于获取和设置textBox的值。您所能做的就是调用您的类,所以您可以从Form1设置文本框,从类计算结果

在表格1中:

private void SubmitButton_Click(object sender, EventArgs e)
{
    double res = 0;

    string a = TextBoxA.Text;
    double b = GetTextBoxValueAsDouble(TextBoxB.Text);
    double c = GetTextBoxValueAsDouble(TextBoxC.Text);
    double d = GetTextBoxValueAsDouble(TextBoxD.Text);
    double e = GetTextBoxValueAsDouble(TextBoxE.Text);

    double res = class1.Func(a, b, c, d, e);

    TextboxResult.Text = res.ToString();
}
在类别1中:

public double Func( string a, double b, double c, double d, double e)
{ 
    // Use .equals to compare strings!
    if (a.Equals("c"))
    {
        // Are you sure this shouldn't be (b-c)/(d-e)?
        res= b-c/d-e;
    }
    else if (a.Equals("p"))
    {
        // Are you sure this shouldn't be (b+c)/(d+e)?
        res= b+c/d+e;
    }
    return res;
}

是否要在“提交”按钮单击时计算并显示结果?
public double Func( string a, double b, double c, double d, double e)
{ 
    // Use .equals to compare strings!
    if (a.Equals("c"))
    {
        // Are you sure this shouldn't be (b-c)/(d-e)?
        res= b-c/d-e;
    }
    else if (a.Equals("p"))
    {
        // Are you sure this shouldn't be (b+c)/(d+e)?
        res= b+c/d+e;
    }
    return res;
}