[問題] TextBox只允許輸入數字及負號
private void endSpeed_KeyPress(object sender, KeyPressEventArgs e)
{
if (!Char.IsNumber(e.KeyChar) &&
!Char.IsPunctuation(e.KeyChar) &&
!Char.IsControl(e.KeyChar))
{
e.Handled = true;
}
else if (Char.IsPunctuation(e.KeyChar))
{
if (endSpeed.Text.LastIndexOf('.') != -1)
{
e.Handled = true;
}
if (e.KeyChar == '-')
{
if (this.endSpeed.Text.Length > 0)
e.Handled = true;
}
}
}
目前小弟在網路上搜尋只輸入數字的方法,
東拼西湊之下完成了一個堪用的過濾方式。
其主要的邏輯為
1.先篩選掉非數字浮號的字元
2.小數點只能有一個
3.負號只能在第一位
但現在有個問題了,有幾個方法無法使用
1.當textbox.text內已經有小數點,無法反白(全選)後輸入'.'
2.當textbox.text內有內容,無法反白(全選)後輸入'-'
總而言之我的過濾方式無法排除全選後輸入這種方法,是否有更好的處理方式。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.129.103.86
※ 文章網址: http://www.ptt.cc/bbs/C_Sharp/M.1395887439.A.D7C.html
推
03/27 10:47, , 1F
03/27 10:47, 1F
→
03/27 10:48, , 2F
03/27 10:48, 2F
→
03/27 11:26, , 3F
03/27 11:26, 3F
→
03/27 11:27, , 4F
03/27 11:27, 4F
推
03/27 12:26, , 5F
03/27 12:26, 5F
→
03/27 13:07, , 6F
03/27 13:07, 6F
小弟是C#初學者,以前有一些C++的經驗,
我是要做一個視窗軟體 截圖 http://ppt.cc/GDXR
已經找到解決方法,自問自答一下 http://ideone.com/NKOWRA
※ 編輯: unfun 來自: 220.129.103.86 (03/27 13:41)
→
03/28 20:48, , 7F
03/28 20:48, 7F
→
04/01 04:39, , 8F
04/01 04:39, 8F
推
06/05 21:41, , 9F
06/05 21:41, 9F
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章