[英]Get textbox.Text from FORM to CLASS
我試圖將textbox.text設置為一個類,並且它可以正常工作我正在做錯了請幫忙!
在我的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'的定義,並且沒有擴展方法'player'接受類型'WindowsFormApplication1.score1Calculator'的第一個參數可以找到(你是否缺少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);
}
而不是在表單類中為score1
賦值並將其分配給您的類成員字段。 你可以試試這個。
public void playerOneAddScoreButton_Click(object sender, EventArgs e)
{
if (!String.IsNullOrEmpty(playerOneScore1TextBox.Text))
{
score1Calculator theCalculator = new dart1Calculator(playerOneScore1TextBox.Text);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.