好的。到目前爲止,我有以下內容,它的工作原理(完全新的編程所以裸陪我,如果這聽起來很愚蠢):用int代替TextBox
我的播放器類:
public Player(string Str, string SP)
{
Strength = Str;
StatPoints = SP;
}
public string StatPoints
{
get;
set;
}
public string Strength
{
get;
set;
}
現在在我的Form1上我有一個文本框,並一個按鈕。只要SP文本框中的值大於0,按鈕就會將文本框中的值加1。問題是,爲了管理兩個值,我聲明瞭六個變量,因爲我必須將字符串轉換爲整數和所有這些廢話。有沒有辦法用固有的int取代文本框?這是我迄今爲止的角色表單代碼。
private void AddButton_Click(object sender, EventArgs e)
{
Player PCStats = new Player(StrBox.Text, SPBox.Text);
int IntPCSP = Convert.ToInt16(PCStats.StatPoints);
int IntPCStr = Convert.ToInt16(PCStats.Strength);
if (IntPCSP >= 1 && IntPCStr <= 7)
{
IntPCStr++;
IntPCSP--;
PCStats.Strength = IntPCStr.ToString();
PCStats.StatPoints = IntPCSP.ToString();
StrBox.Text = PCStats.Strength;
SPBox.Text = PCStats.StatPoints;
}
else
{
MessageBox.Show("Earn more experience!");
}
/*
MessageBox.Show("PCStats.StatPoints equals" + PCStats.StatPoints);
MessageBox.Show("PCStats,Strength equals" + PCStats.Strength);
MessageBox.Show("IntPCSP Equals" + IntPCSP.ToString());
MessageBox.Show("IntPCStr Equals" + IntPCStr.ToString());
*/
}
還是有更簡單的方法來做到這一點,我完全忽略了。在經歷了很多試驗和錯誤之後,我終於得到這份工作讓我感到非常興奮,但我願意重做它。我寧願只是替換文本框,所以我不會將變量全部轉換。任何幫助是極大的讚賞。
如果你正在做的WinForms然後有一個[NumericUpDown控件(http://msdn.microsoft.com/en-gb/library/sys tem.windows.forms.numericupdown.aspx)這可能對你有用 – musefan
嘗試過,但我仍然必須將值從十進制更改爲整數。還有上下箭頭的問題,但大多是小數點。 –
直接創建類Player時,爲什麼不使用int? – Tonix