2011-07-26 104 views
0

我有一個文本框。在那我必須允許用戶在該文本框中鍵入一些東西,我也限制用戶不要選擇該文本框中鍵入的文本。不需要在文本框的開始處允許空格,並且我也不需要允許用戶輸入多於32個字符.Thi是我的代碼。刪除在C#中文本框中的文本的選擇#

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(); 
    } 

在這裏,在這個code.I我能夠限制用戶在32 characters.And我試圖在開局就按空格鍵就不允許me.It允許文本的使用Shift +箭頭鍵選擇。 我不知道如何阻止selection.Another事情是假設我嘗試 您好,我選擇地獄然後按空格直接啓動,允許提前在文本的空間box.Can任意一個幫助me.Thanks

+0

文本框具有最大長度屬性。此外,只需調用TextBox.Text = TextBox.Text.TrimStart()將在開始時刪除任何空格。 – user623879

+0

我可以將最大限制爲32.它對我來說不是問題。我需要在文本框中輸入任何文本後刪除文本框中的選擇 – bharathi

回答

0

也許使用textchanged事件代替KeyPress事件。

文本框具有最大長度屬性。此外,只需撥打TextBox.Text = TextBox.Text.TrimStart()將在開始

1
刪除任何空白回答你的問題,在標題: myTextBox.Text =:要從一個文本框,使用刪除選定的文本myTextBox1.Text.Substring(myTextBox1.SelectionStart,myTextBox1.SelectionLength);

如果要防止用戶選擇文本:

  1. 使用Label代替TextBox
  2. 處理label.KeyPress事件,然後僅添加允許的文本和您想要的自定義功能。
0

您會想要觀看TextChanged事件 - 只要文本框的內容發生變化,您就會知道該事件。您可以使用user623879建議的TrimStart()方法,而不是檢查長度是否爲0。

當你說刪除選擇,你的意思是刪除用戶選擇的文本?如果您只想使選擇「消失」,則可以將SelectionLength屬性設置爲0.

0

您需要在文本框KeyPress,MouseUp和MouseMove事件上將SelectionLength設置爲0。