none
NumericUpDown LostFocus 이벤트가 동작하질 않습니다. RRS feed

  • 질문

  • 현재 개발환경은 netCF 3.5 WinCE 5.0 개발이고, 사용 장비는 심볼 MC9090 장비입니다.

    화면상에 NumericUpDown, TextBox가 각각 하나씩 있습니다

    NumericUpDown에 간단한 KeyDown 이벤트를 걸어서 Enter키가 입력 됐을 경우 TextBox로 포커스를 가게 만들었습니다.

    또 NumericUpDown에 LostFocus 이벤트를 걸어 TextBox에 현재의 value 값을 출력하게 했습니다.

    그런데 방향키 혹은 화살표를 눌러 값을 변경했을땐 정상적으로 LostFocus가 동작 했지만, 키보드를 사용해 값을 변경후 Enter키를 눌렀을 경우

    포커스는 정상적으로 이동했지만 LostFocus는 발생 되지 않았습니다.

    또한 별도의 키입력 없이 Enter키를 입력하거나 다른컨트롤로 포커스를 이동 시켰을땐 정상 동작 하였습니다.

    해당 현상이 MC9090에서만 나타나는 건지, 아니면 WinCE 5.0의 버그인건지, 혹은 net CF3.5의 버그인건지 알고 싶습니다.

    아래는 Form 내부의 해당 부분 코드입니다.

    감사합니다.

            private void numericUpDown1_KeyDown(object sender, KeyEventArgs e)
            {
                if (e.KeyCode == Keys.Enter)
                {
                    textBox1.Focus();
                }
            }

            private void numericUpDown1_LostFocus(object sender, EventArgs e)
            {
                textBox1.Text = numericUpDown1.Value.ToString();
            }


    • 편집됨 kwonv2 2014년 11월 6일 목요일 오전 8:15 추가적인 현상 발견
    2014년 11월 6일 목요일 오전 8:11

답변

  • 안녕하세요.

    원인은 여러기종에서 테스트해봐야겠지만 우선 해결을 위해서

    numericUpDown1_LostFocus의 내용을

    textBox1 포커스 이벤트로 옮기시는 등 다른 이벤트로 수정을 해보시는게 좋지 않을까요?

    2014년 11월 6일 목요일 오전 8:39