2013-10-28 1 views
-1

C#, VS 2010, Forms에서 콤보 상자 사용.마우스를 사용하여 현재 드롭 된 값을 콤보 박스에서 감지하는 방법

콤보 상자를 놓은 후 마우스로 선택 목록을 스크롤합니다. 어떤 이벤트 MSDN Combobox Events

예에 트리거 : 콤보 상자에 선택 목록 등 바나나, 초콜릿, 그것은 당신이 바나나의 이벤트를 가리 호출 당신이 사과를 가리 키는 동일한 이벤트를 사과를 호출하는 등

또한 값을 가리키는 방법은 무엇입니까?

이벤트가없는 경우 프로그램을 통해 이벤트를 만들 수 있습니까?

오랫동안 인터넷 검색을 한 결과 지금 내가 필요한 것을 찾지 못하는 것 같습니다.

(주 & DrawItemState.HotLight)> 0

더 설명이있는 경우 알려줘 때

+0

실제로 사용하는 어떤 이벤트? 인수 나 적어도'combobox.SelectedItem'에서 뭔가를 얻을 수 있어야합니다. – gunr2171

+0

나는 SelectedIndexChange, SelectedValueChanged, SelectionChangeCommitted, ValueMemberChanged를 시도했다. 어느 것도 작동하지 않습니다. –

+0

왜 투표가 늦습니까? –

답변

2
  1. ... , 당신은 SelectedIndexChanged 이벤트를 설정하고 다음과 같이 사용자 정의 이벤트 핸들러로 설정 :

    comboBox1.Items.Add("Apple"); 
    comboBox1.Items.Add("Banana"); 
    comboBox1.Items.Add("chocolate"); 
    
    comboBox1.SelectedIndexChanged += ComboBox1OnSelectedIndexChanged; 
    
  2. 이 메서드는 combobox 유형의 보낸 사람 개체를받습니다. 유일한 까다로운 문제는 서명이 해당 개체를 개체로 설정한다는 것입니다. 그것을 주조하면 우리가 그 가치를 끌어낼 수 있습니다.

    private void ComboBox1OnSelectedIndexChanged(object sender, EventArgs eventArgs) 
    { 
        myvalue = ((ComboBox)sender).SelectedValue; 
    } 
    
+0

나는 그 기다림을 시도 할 것이다. –

+0

항목을 선택하지 않으면 작동하지 않습니다. 선택하기 전에 선택해야하는 트리거가 필요합니다. 드롭 다운 된 항목 목록을 아래로 스크롤하는 동안처럼. –

+1

@HenryHughes (삭제 된 주석으로), 콤보 상자에서 항목의 강조 표시를 변경하면 이벤트가 시작되지 않을 수도 있습니다 (예 : http : // social). msdn.microsoft.com/Forums/windows/en-US/e234c4a7-0cf7-4284-a072-8152f7593002/combobox-item-highlight-event?forum=winforms). – gunr2171

-1

는 특히이

Redrawing of owner-drawn winforms combobox items

에서 당신이 원하는 것을 얻을 수있는 당신처럼 보인다 주문.

편집 -

내가하는 OwnerDraw 구현함으로써, 당신은 마우스를 통해 무엇 항목을 인식하게된다됩니다 무엇을 의미. 마우스가 항목 위에있을 때 링크 된 기사 당

(상태 & DrawItemState.Selected)> 0) || ((상태 & DrawItemState.HotLight)> 0)

이 참입니다.

그래서이 경우 OP가 원하는 정보로 필요에 따라 이벤트를 시작할 수 있습니다. 콤보 상자를 만들고 항목을 추가하는 경우이 트리거 이벤트

+0

음,이 질문에 어떻게 대답하는지 모르겠습니다. – gunr2171

+0

@ gunr2171 지금 대략? –

관련 문제