C TextBox只接受數字

2021-04-25 09:54:54 字數 1101 閱讀 9941

當介面上要使用者輸入只有數字的字元時,預設的textbox是不能勝任的,網上有很多網友們提供了很多的做法,我總結了一下寫了乙個在c#下的實現,做到了如下的幾點:

1:只能輸入類似這樣的字元:-123456.789;1234.789;

2:在輸入的字串中不能存在兩個點符:12456.78//正確;12.456.78//不正確;

3:如果表示負數可以在字串的最前面加乙個減號「-」,也只能加到弟乙個字元的位置;

4:可以用複製粘帖功能和選單功能,但是只對能正確格式的字串有效,比如:12.34可以,abc不可以;

5:只是得到乙個字串,還可以在這個基礎上再改進自己所需的,經如新增對十六進製制的支援等。

**如下在.net下用c#寫的:

using system;

using system.windows.forms;

namespace numtextbox

protected override void wndproc(ref message m)

if (issign)

base.wndproc (ref m);

break;

}if (isdelete)

}if ((int)m.wparam == 1)

break;

case wm_paste:

idataobject idata = clipboard.getdataobject();//取剪貼簿物件

if(idata.getdatapresent(dataformats.text)) //判斷是否是text

}m.result = (intptr)0;//不可以貼上

break;

default:

base.wndproc (ref m);

break;}}

private bool matchnumber(string clipboardtext)

index = this.selectionstart;

if (index>0)}

index = clipboardtext.indexof(strnum[2]);

if (index!=-1)}

for(int i=0; i

讓 Edit 只接受數字《轉》

方法1 proceduretform1.edit1keypress sender tobject varkey char begin ifnot keyin 0 9 then key chr 0 end 方法2 proceduretform1.edit1keypress sender tobject...

如何讓你的EditText只接受數字輸入

edittext et et edittext findviewbyid r.id.et 方法1 建立乙個digitskeylistener,然後把它設為你的edittext的keylistener digitskeylistener numericonlylistener new digitske...

C TextBox中只允許輸入數字的解決方法

在定製的textbox控制項中,如果只允許輸入數字,需要考慮如下三種情況 正常按鍵輸入的字元,包括西文 中文字元等 通過鍵盤快捷鍵方式貼入的文字,即ctrl v操作 通過上下文關聯選單的mouse操作貼入的文字,即 貼上 操作 在 的同類文章中,多數只考慮了第1種情況,忽略得了第2 3種常見的操作。...