如何在C# winform中使TEXTBOX只能输入数字,并支持Ctrl+V粘贴?
发布网友
发布时间:2022-05-05 15:23
我来回答
共4个回答
热心网友
时间:2023-10-08 21:34
其实你用不着这么麻烦的。
同样是输入框,作用仅仅是采集数据而已。
MaskedTextBox 控件能非常方便地控制可输入的字符格式。
根据你上面的需求,用 MaskedTextBox控件代替TextBox控件。
1.设置Mask属性为999999999999 (代表只能输入数字,且位数为12。你有多少个9就代表能输入多少个数字,随便你设置)
2.设置 PromptChar 属性的值为空字符,即一个空格(注意:如果不设置默认为下划线,会影响美观)。也可以编码实现,如下:
// 设置占位符
this.maskedTextBox1.PromptChar = ' ';
做完以上操作,你的需求就算满足了。
只能输入数字,且可以粘贴(只有数字才粘得进去,自动过滤)
图中红框中的控件就是 MaskedTextBox ,其余两个输入框是TextBox。从外观上看,没有任何区别。
追问我只用TextBox这个。
热心网友
时间:2023-10-08 21:34
keypress 不支持组合键,你的Ctrl+V是组合键。把代码放到keydown或keyup里面,并允许ctrl+v组合键通过。
热心网友
时间:2023-10-08 21:35
很简单,因为你弄错了一个函数,你用val(text1.text)<10的本意可能是想检测小于10位的录入数字吧,但是用错了,因为你随便录入到第二个数字时就可能已经>10了,所以下面的语句不会生效了,TEXT1里也就没有数字显示,你要改用LEN来检测长度就行。正确的语句是:
Dim cleardisplay As Boolean
Private Sub Command1_Click(Index As Integer)
If cleardisplay Then
Text1.Text = ""
clesrdisplay = False
End If
If Len(Text1.Text) < 10 Then
Text1.Text = Text1.Text + Command1(Index).Caption
End If
End Sub
还不错,希望你采纳。
热心网友
时间:2023-10-08 21:36
用正则匹配,选择控件的匹配属性可以设置
如何在C# winform中使TEXTBOX只能输入数字,并支持Ctrl+V粘贴?
MaskedTextBox 控件能非常方便地控制可输入的字符格式。 根据你上面的需求,用 MaskedTextBox控件代替TextBox控件。 1.设置Mask属性为999999999999 (代表只能输入数字,且位数为12。你有多少个9就代表能输入多少个数字,随便你设置) 2.设置 PromptChar 属性的值为空字符,即一个空格(注意:如果不设置默认为下划线,会影响...
c#中如何控制文本框中输入字符的范围
可以在ProcessCmdKey()中捕获快捷键Ctrl+V操作。首先要清除当前的选择文本,然后读取剪切板ClipBoard中的内容,最后通过模拟键盘输入的方式”输入“ClipBoard的内容。需要指出,在ProcessCmdKey()方法中不能使用静态方法 SendKeys.Send(),但可以通过控件的WndProc()方法发送字符消息以达到模拟键盘录入的目的。见...
怎样限制文本框中只能输入数字,并且可以使用Ctrl + V 粘贴
在Ctrl+V之前,判断按键,是否按了Ctrl+V,如果按下,判断剪贴板上字符,如果包含字母,就设置文本框为空,如果全是数字,再粘贴结果。
c#实现复制文本框内容的代码问题
就是您再将文本框里的东西选定下。就像这样:然后点击copy按钮,然后Ctrl+V试试看。如果要复制文本框里的内容,不管其是否被选定,可以用Clipboard.SetText(textBox1.Text);这是对剪贴板的内容进行操作的。 本回答由网友推荐 举报| 答案纠错 | 评论 2 1 其他回答 Clipboard.SetText(textBox1.Text); 热心网友|...
C#中我选中密码框怎样设置成只能在其中输入英文
如果控件没有做限制,重新封装的话,就需要你自己去限制了,比方说我这个在KeyPress里面限制只能输数字的,根据按下的键的ASCII值进行限制,要考虑的可能比较多,好在字母是一个连续的范围,你可以限制范围,特殊字符特殊处理...//输入不是数字屏蔽输入 if ((Convert.ToInt32(e.KeyChar) < 48 ||...
用C#做记事本程序,禁用Ctrl+V
clipboard 这个对象,进行复制的时候,你要进行判断 禁用快捷键很简单 只要在richtextbox的keypress事件响应函数中添加一个按键判断功能即可 if(e.keyvalue==(ctrl+v)的value值我忘记了
用C#做记事本程序,禁用Ctrl+V
clipboard这个对象,进行复制的时候,你要进行判断 禁用快捷键很简单 只要在richtextbox的keypress事件响应函数中添加一个按键判断功能即可 if(e.keyvalue==(ctrl+v) 的value值我忘记了 参考资料:ogin_u
c#如何限制文本框不能输入空格?
在KeyPress处理就行了 private void textBox1_KeyPress(object sender, KeyPressEventArgs e){ if (e.KeyChar.ToString() == " " || e.KeyChar.ToString()==" "){ e.Handled = true;} } //注意我判断了全角和半角两种空格,只不过这里显示的很像是一种罢了,如果不需要可以去掉逻辑或的...
如何在C#中,文本框不能粘贴功能
禁止粘贴只要把textBox1的ShortcutsEnabled属性设为false就可以了。鼠标右键包括快捷键Ctrl + V都不允许。至于禁止以键盘输入,则需要处理textBox的KeyPress事件。如:private void textBox1_KeyPress(object sender, KeyPressEventArgs e){ if (e.KeyChar != 13) //除了回车键以外,其余按键全部禁用...
在Vistua Studio C#中如何禁用文本框的复制,粘贴,剪切及选中功能?
1.不允许向文本框粘贴内容:private void TextPass_KeyPress(object sender, KeyPressEventArgs e){ e.Handled = IsPaste;} bool IsPaste = false;private void TextPass_KeyDown(object sender, KeyEventArgs e){ if (e.Control && e.KeyCode.ToString().ToUpper() == "V"){ IsPaste = true...