2010-08-10 4 views
0

데이터 바인딩되어 있고 문제없이 업데이트되는 콤보 박스가 있습니다. 내가 가진 문제는 사용자가 콤보 상자에 무언가를 입력 한 다음 탭 아웃하지 않고 창에서 [X] 닫기 버튼을 사용하면 데이터가 업데이트되지 않는다는 것입니다. 나는 웹 전체를 조사해 왔지만 관련 도움말/팁을 찾을 수 없습니다. 유일한 아이디어는 초점이 맞지 않는 것을 강제하는 것입니다. 그리고 아마도 그것은 콤보 박스가 업데이트를 보도록 강제 할 것입니다.Winforms 데이터 닫기 ComboBox가 닫힌 창을 업데이트하지 않습니다.

답변

0

양식에 FormClosing 이벤트를 추가 해보십시오.

FormClosing 이벤트는 양식이 닫힐 때 발생합니다.

private void Form1_FormClosing(Object sender, FormClosingEventArgs e) 
{  
    //force an event to have the cbo updates fire. 
    txtFoo.Focus(); 
} 

또는 거기에서 VB.NET

Private Sub Form1_FormClosing(sender as Object, e as FormClosingEventArgs) _ 
    Handles Form1.FormClosing 

    'force an event to have the cbo updates fire. 
    txtFoo.Focus() 
End Sub 

, 당신은 당신의 데이터 저장소에 저장하여 콤보 상자의 내용을 가지고하는 방법/로직을 호출 할 수 있습니다.

+0

이미 데이터 바인딩이 되었기 때문에 데이터 소스를 업데이트하기 위해 콤보 상자를 사용하려고합니다. 약 30 개 정도의 콤보 박스가 있고 여러 형태가 문제가됩니다. 수동으로 업데이트를 처리 할 필요가 없도록 다른 해결/해결 방법이 있기를 바라고 있습니다. 비록 도움을 Thx. –

+0

@B Z : 사실, 해당 콤보 박스에서 데이터 소스로의 업데이트를 트리거하기 위해 호출 할 수있는 메소드가 있습니까? 즉 업데이트를 보장하기 위해 호출 할 수있는 이벤트 또는 메소드는 무엇입니까? 콤보 상자에 타이핑 할 때 Enter 키와 같은 이벤트가 거의 비슷합니다. –

+0

별도의 컨트롤에 초점을 맞추면 콤보 상자가 업데이트됩니다. –

관련 문제