我有一个文本框。我必须允许用户在该文本框中键入一些内容,我还限制用户不要在该文本框中选择键入的文本。我不需要允许在该文本框中输入空格。文本框的开头,我也不需要允许用户输入超过32个字符。这是我的代码。
private void txtApplication_Title_KeyPress(object sender, KeyPressEventArgs e)
{
txtApplication_Title.Text = txtApplication_Title.Text.Remove(txtApplication_Title.SelectionStart, txtApplication_Title.SelectionLength);
if (txtApplication_Title.Text.Length== 0)
{
e.Handled = (e.KeyChar == (char)Keys.Space);
}
int count_charac = txtApplication_Title.Text.Length + 1 ;
if (count_charac > 32)
{
lblApplication_name.Text = data_variables.RES_TXT_STRING_EXCEEDING_APPLICATION_NAME;
timer1.Interval = 7000;
timer1.Enabled = true;
timer1.Tick += new System.EventHandler(OnTimerEvent_Application_name);
}
}
public void OnTimerEvent_Application_name(object sender, EventArgs e)
{
lblApplication_name.Text = " ";
timer1.Dispose();
}
这个代码在这里。我能够将用户限制为32个字符。我尝试在开始时按空格它不允许我。它允许使用Shift +箭头键选择文本。 我知道如何阻止选择。另一件事是假设我尝试 你好,我选择地狱并直接按空格,开始允许文本框中的空格。任何人都可以帮助我。提前谢谢
答案 0 :(得分:1)
如果您想阻止用户选择文字:
Label
代替TextBox
。答案 1 :(得分:0)
可以使用textchanged事件代替KeyPress事件。
文本框具有最大长度属性。另外,只需调用TextBox.Text = TextBox.Text.TrimStart()将在开头删除任何空格
答案 2 :(得分:0)
您需要观看TextChanged事件 - 只要文本框的内容发生变化,就会通知您。您可以使用user623879建议的TrimStart()方法,而不是检查长度是否为0。
当您说删除选择时,您的意思是删除用户选择的文本吗?如果您只想让选择“消失”,可以将SelectionLength属性设置为0.
答案 3 :(得分:0)
您需要在文本框KeyPress,MouseUp和MouseMove事件上将SelectionLength设置为0.