2013-03-27 6 views
-1

나는 텍스트 상자가 있고 사용자가 첫 번째 텍스트 상자에서 공백을 입력 할 수 없도록하고 싶다. 사용자는 텍스트 상자가 떨어져있는 곳에 공백을 입력 할 수있다. textbox.my 컴퓨터 = 컴퓨터 허용 = 허용 안함 (공백으로 시작) 두 개 이상.텍스트 상자의 첫 번째 문자를 공백으로 표시하지 않으려면 어떻게합니까?

+2

사용자가 입력을 마친 후 입력의 유효성을 검사하지 않는 이유는 무엇입니까? 예를 들어'String.IsNullOrWhiteSpace (txt.Text)'를 검사 할 수 있습니다. –

+0

공간을 허용하지 않는 것보다 공간을 제거하지 않는 이유는 무엇입니까? – DevelopmentIsMyPassion

+0

당신은 입력 한 텍스트의'.Trim()'에'AshReva' 주석을 후속 처리하는 편도의 첫 번째 문자의'Substring'을 검사함으로써 이것을 할 수 있습니다 – MethodMan

답변

2

당신이 정말로 이벤트의 사용을하고 주장하는 경우에 나는

private void txtaddgroup_TextChanged(object sender, EventArgs e) 
{ 
    var textBox = (TextBox)sender; 
    if (textBox.Text.StartsWith(" ")) 
    { 
     MessageBox.Show("Can not have spaces in the First Position"); 
    } 
} 
+0

무슨 일을하지 않을 거라는 말은 .. 괜찮아요. 정확히 어떤 일을하는지 설명 할 필요가 있습니다. WinForms 또는 Web Application'을 테스트했고, 실시간으로 입력 할 때 완벽하게 작동합니다. 바, 그리고 볼 수있을 것입니다 .. 내가 무슨 일을하고 있는지 당신이 그것을하고있는 어떤 이벤트를보십시오. 내 검사는 KeyPressEvent를 사용하지 마십시오 – MethodMan

+0

공간 프로그램 메시지를 입력하려고 시도하지만 공간이 지워지지 않을 때 그리고 텍스트 상자에 공백이 있습니다! – anfd

+0

다음 메시지 상자 앞에'textBox.Text = textBox.Text.TrimStart ('');'를 추가하십시오. – kschieck

0

공백을 제거한 키 누르기 이벤트를 구현하면 here을 더 읽습니다.

0

코드의이 비트를 추가 .. 당신은 내가 당신에게 그것을 할 수있는 간단한 방법을 설정 한 Text_Changed 이벤트에 그것을 제안 KeyBown 이벤트 핸들러에 등록 된 공간 키를 중지하려면

//Check to see if the first character is a space 
     if (UsernameTextBox.SelectionStart == 0) //This is the first character 
     { 
      //Now check to see if the key pressed is a space 
      if (e.KeyValue == 32) 
      { 
       //Stop the key registering 
       e.Handled = true; 
       e.SuppressKeyPress = true; 
      } 
     } 

32 공백 문자에 대한 키 코드는 32입니다.

관련 문제