我想创建一个不允许输入空格的TextBox。我用键盘禁用了键入空格:
void textBox_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Space)
{
e.Handled = true;
}
}
但是如果用户使用“Hello world”这样的空格复制一个字符串,他可以将其粘贴到TextBox中,并且会有空格。
答案 0 :(得分:2)
您可以为TextChanged
添加TextBox
事件处理程序,并在该TextChanged事件中添加以下代码:
TextBox1.Text = TextBox1.Text.Replace(" ", "");
答案 1 :(得分:2)
更好的控制方法
private void textBox_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.V && e.Modifiers == Keys.Control) {
removeSpaces();
}
//Handle Ctrl+Ins
if (e.KeyCode == Keys.Control && e.KeyCode == Keys.Insert)
{
removeSpaces();
}
}
private void removeSpaces()
{
textBox.Text = textBox.Text.Replace(" ", string.Empty);
}
//控制鼠标右键单击
private void textBox1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Right)
{
textBox1.ContextMenu = new ContextMenu();
}
}
所有
的SIMPLE解决方案private void textBox1_TextChanged(object sender, EventArgs e)
{
textBox1.Text = textBox1.Text.Replace(" ", string.Empty);
}
答案 2 :(得分:0)
一种简单的方法是在输入数据后删除空格。喜欢:
txt_Box.Text = txt_Box.Text.Replace(" ","");