在 C# WinForms / WPF 中,TextBox 的 Text 屬性本身就是 string 類型,直接使用即可,無需額外 ToString()。本文釐清常見誤區。
// WinForms
string s1 = textBox1.Text; // 直接賦值,Text 已是 string
string s2 = textBox1.Text.Trim(); // 常用鏈式調用
// WPF
string s3 = txtBox.Text; // 同樣直接可用
// 不必要的 ToString()
string s = textBox1.Text.ToString(); // 編譯通過但多餘
// 甚至嘗試轉換控件本身
string s = textBox1.ToString(); // 返回 "System.Windows.Forms.TextBox: ..." 無意義
int i = int.Parse(textBox1.Text); // 可能拋異常
bool ok = int.TryParse(textBox1.Text, out i); // 安全轉換
double d = double.Parse(textBox1.Text);
DateTime dt = DateTime.Parse(textBox1.Text);
<TextBox Text="{Binding UserName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
記住:TextBox.Text 已經是字符串,直接用即可。