2016-10-16 102 views
0

我想限制用戶在我的代碼中的文本框中輸入空格,只需獲取第一個輸入,然後檢查它是否爲空格。我想要做的是在整個文本的用戶在文本框中不能進入空間如何阻止用戶輸入文本框C中的空間#

private void txtPassword_KeyPress(object sender, KeyPressEventArgs e) 
    { 
     if ((sender as TextBox).SelectionStart == 0) 
      e.Handled = (e.KeyChar == (char)Keys.Space); 
     else 
      e.Handled = false; 
    } 
+0

的winform或網頁表單? –

+2

使用['.Validating'](https://msdn.microsoft.com/en-us/library/system.windows.forms.control.validating)事件,因爲typinig不是更改文本的唯一方法。 – Slai

+0

Windows Form ... – Philip

回答

1

你需要使用文本框更改事件預防複製粘貼空格

private void txtPassword_TextChanged(object sender, EventArgs e) 
    { 
     if (txtPassword.Text.Contains(" ")) 
     { 
      txtPassword.Text = txtPassword.Text.Replace(" ", ""); 
      txtPassword.SelectionStart = txtPassword.Text.Length; 
     } 
    } 
+0

非常感謝。這正是我在尋找的。謝謝你 – Philip

+1

我仍然可以通過剪貼板粘貼一個空格,或者將包含空格的文本拖入框中。請參閱Slai對原始問題的評論。 – Jens

+0

http://stackoverflow.com/questions/2587602/textbox-value-changed onchange將是一個更好的,即使在文本框中捕獲所有形式的輸入 –

相關問題