[英]Control user input to textfields
尋找一種方法來控制文本字段中的用戶輸入。 即一個字段可以是雙精度字段,一個字段字符串,一個字段int。 有沒有可以用來照顧我的圖書館?
使用:VS 2008,C#,WPF
int.TryParse()
容易得多!
您可以嘗試在文本框上使用正則表達式來約束/驗證用戶輸入...
可以使用文本框的Validate事件來設置驗證委托,以確保文本框具有有效的文本:
textbox1.Validate += delegate(sender, eventArguments)
{
double val;
if (!int.TryParse(textbox1.Text, out val)
{
eventArguments.Cancel = true;
}
}
但是,直到有問題的控件失去焦點之前,不會引發Validate事件,這可能無法提供您所需的用戶體驗,即,用戶將能夠鍵入無效的值,並且直到他們嘗試離開控件時,它才會出現文本將被驗證。 如果您實際上想防止鍵入無效字符或值,則可能需要在每個步驟中攔截TextChanged事件並驗證文本。
如果您確實選擇對TextChanged做出反應,那么請注意中間值可能無法解析為所需的類型-例如,如果文本框被限制為日期,並且用戶嘗試輸入“ 26/11/2009”,則文本將在第一個字符(不是有效日期)之后為“ 2”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.