반응형
양식이로드 될 때 comboBox의 selectedIndexChanged 이벤트가 시작되지 않도록 중지
ComboBox
드롭 다운 목록을 제공 하는 양식이 있습니다. comboBox의 SelectedIndexChanged event
에서 일부 코드를 실행하고 있지만 양식이로드 될 때 해당 코드가 실행되는 것을 원하지 않습니다. 불행히도 콤보 상자에서 선택하기 전에 양식을로드하면 SelectedIndexChanged
콤보 상자가 실행됩니다 (콤보 상자가 일 때 생각합니다 databinding
). 그러한 행동을 피할 수있는 방법이 있습니까?
사용자가 콤보 상자에서 선택한 항목을 변경할 때만 반응하려면 SelectionChangeCommitted 를 구독하는 것이 좋습니다 .
SelectedIndexChanged
이벤트 바인딩을 해제하고 fill
함수를 호출 한 다음 SelectedIndexChanged
이벤트를 다시 바인딩 할 수 있습니다 . 불행히도 이것은 그리드에서 작동하지 않습니다.
예를 들면 :
this.cmb.SelectionChanged -= new System.EventHandler(this.cmb_SelectionChanged);
cmb.fill(); //Your function
this.cmb.SelectionChanged += new System.EventHandler(this.cmb_SelectionChanged);
및 속성 을 할당 한 후 함수 에서 DataSource
속성 을 설정해야 합니다.onload()
ValueMember
Datamember
이것은 문제를 해결하는 데 도움이 될 것입니다!
로딩이 끝났을 boolean
때를 나타내는 플래그가 없는 이유는 무엇 Form
입니까?
당신에 SelectionChanged
경우 이벤트 확인 boolean
플래그가 true
. 그렇다면 true
이벤트를 처리하고 그렇지 않으면 무시하십시오.
VB
RemoveHandler lbxNomes.SelectedIndexChanged, AddressOf lbxNomes_SelectedIndexChanged
lbxNomes.DataSource = dst
Label1.Text = String.Format("Encontrados {0} Sócios nesta pesquisa", dst.Rows.Count)
Label1.Visible = True
AddHandler lbxNomes.SelectedIndexChanged, AddressOf lbxNomes_SelectedIndexChanged
다음 코드로 나를 위해 일했습니다.
private void ddlChapter_SelectionChangeCommitted(object sender, EventArgs e)
{
if (ddlChapter.SelectedValue != null)
{
// Do something here
}
}
반응형
'Programing' 카테고리의 다른 글
java : 한 유형에서 다른 유형으로 변수를 동적으로 캐스팅하려면 어떻게해야합니까? (0) | 2020.10.29 |
---|---|
Eclipse는 자동으로 저장 (0) | 2020.10.29 |
XSLT가 기본적으로 모든 텍스트를 출력하는 이유는 무엇입니까? (0) | 2020.10.29 |
jquery ajax 호출에 대한 응답 유형을 확인하는 방법 (0) | 2020.10.29 |
"참일 동안"에 대한 기본적인 질문 (0) | 2020.10.29 |