从 FORM 获取 textbox.Text 到 CLASS
Get textbox.Text from FORM to CLASS
我已经尝试将 textbox.text 设置为 class 但它不起作用我做错了什么请帮忙!
在我的 form.cs 中它看起来像这样:
public string score1;
public void getPlayerOneScore1Input()
{
score1 = playerOneScore1TextBox.Text;
}
public void playerOneAddScoreButton_Click(object sender, EventArgs e)
{
score1Calculator theCalculator = new score1Calculator(score1);
}
在我的 CLASS 中它看起来像这样:
class score1Calculator
{
public score1Calculator(string score1)
{
this.score1= score1;
}
public int playerOneDart1Value;
public void calculateDart1()
{
if (score1== "t1" || score1== "T1" || score1== "3")
{
playerOneDart1Value = 3;
}
else
{
MessageBox.Show("Dart 1! This is not a valid input!");
return;
}
}
}
错误我得到:
'WindowsFormApplication1.score1Calculator' 不包含 'player' 的定义,并且找不到接受类型 'WindowsFormApplication1.score1Calculator' 的第一个参数的扩展方法 'player'(您是否缺少 using 指令或程序集引用?)
您不调用 getPlayerOneScore1Input()
以便分配 score1
,在 Form1 中尝试:
public void playerOneAddScoreButton_Click(object sender, EventArgs e)
{
getPlayerOneScore1Input();
score1Calculator theCalculator = new dart1Calculator(score1);
}
没必要搞得太复杂。 Textbox.Text
值只是一个字符串。你可以直接用这个引用调用构造函数。
就这么写
score1Calculator theCalculator = new dart1Calculator(playerOneScore1TextBox.Text);
无需在模块级别存储值。
单击按钮时,您没有调用函数 getPlayerOneScore1Input()
,它实际上将值赋给 score1
。
public void playerOneAddScoreButton_Click(object sender, EventArgs e)
{
getPlayerOneScore1Input();
score1Calculator theCalculator = new dart1Calculator(score1);
}
而不是将值赋给 class 表单中的 score1
并将其赋值给您的 class 成员字段。你可以试试这个。
public void playerOneAddScoreButton_Click(object sender, EventArgs e)
{
if (!String.IsNullOrEmpty(playerOneScore1TextBox.Text))
{
score1Calculator theCalculator = new dart1Calculator(playerOneScore1TextBox.Text);
}
}
我已经尝试将 textbox.text 设置为 class 但它不起作用我做错了什么请帮忙!
在我的 form.cs 中它看起来像这样:
public string score1;
public void getPlayerOneScore1Input()
{
score1 = playerOneScore1TextBox.Text;
}
public void playerOneAddScoreButton_Click(object sender, EventArgs e)
{
score1Calculator theCalculator = new score1Calculator(score1);
}
在我的 CLASS 中它看起来像这样:
class score1Calculator
{
public score1Calculator(string score1)
{
this.score1= score1;
}
public int playerOneDart1Value;
public void calculateDart1()
{
if (score1== "t1" || score1== "T1" || score1== "3")
{
playerOneDart1Value = 3;
}
else
{
MessageBox.Show("Dart 1! This is not a valid input!");
return;
}
}
}
错误我得到: 'WindowsFormApplication1.score1Calculator' 不包含 'player' 的定义,并且找不到接受类型 'WindowsFormApplication1.score1Calculator' 的第一个参数的扩展方法 'player'(您是否缺少 using 指令或程序集引用?)
您不调用 getPlayerOneScore1Input()
以便分配 score1
,在 Form1 中尝试:
public void playerOneAddScoreButton_Click(object sender, EventArgs e)
{
getPlayerOneScore1Input();
score1Calculator theCalculator = new dart1Calculator(score1);
}
没必要搞得太复杂。 Textbox.Text
值只是一个字符串。你可以直接用这个引用调用构造函数。
就这么写
score1Calculator theCalculator = new dart1Calculator(playerOneScore1TextBox.Text);
无需在模块级别存储值。
单击按钮时,您没有调用函数 getPlayerOneScore1Input()
,它实际上将值赋给 score1
。
public void playerOneAddScoreButton_Click(object sender, EventArgs e)
{
getPlayerOneScore1Input();
score1Calculator theCalculator = new dart1Calculator(score1);
}
而不是将值赋给 class 表单中的 score1
并将其赋值给您的 class 成员字段。你可以试试这个。
public void playerOneAddScoreButton_Click(object sender, EventArgs e)
{
if (!String.IsNullOrEmpty(playerOneScore1TextBox.Text))
{
score1Calculator theCalculator = new dart1Calculator(playerOneScore1TextBox.Text);
}
}