2010-02-06 7 views
1

은 4 개의 항목으로 구성되며 인덱스는 0에서 3까지입니다..NET ComboBox 컨트롤에서 선택한 항목 인덱스를 가져 오는 방법은 무엇입니까?

나중에 내 코드에서 어떤 항목을 선택해야합니까? 이렇게하려면 정수 비교가 문자열보다 빠르기 때문에 선택한 ComboBox 항목의 인덱스를 비교하는 방법에 대해 생각했습니다. 맞습니까?

선택한 항목의 색인은 어떻게 가져올 수 있습니까?

+2

네 가지 항목의 목록이있을 때 성능에 대해 왜 걱정합니까? –

+0

어디서나 성능에 대해 생각하는 것이 좋지 않습니까? 게다가 항목 수는 사용자가 설정 한 항목에 따라 변경 될 수 있습니다. – Phox

답변

1

ComboBox에는 SelectedIndex 속성이 있습니다. 비교에 관한

myComboBox.SelectedIndex 

:
당신이 비교의 수백만을 수행하지 않는 경우 다음이 "최적화"당신을 도울 것입니다.

0

문자열 비교보다 정수 비교가 항상 빠릅니다.

비교할 문자열의 길이에 따라 다름 ... 한 문자가 각각있는 두 개의 문자열을 비교 한 다음 4 바이트 정수 값을 비교하는 것보다 빠를 수있는 간단한 바이트 단위 AND 연산을 비교하십시오.

+0

각 문자열은 32 바이트 길이입니다. – Phox

0

일반적으로 ComboBox.SelectedIndex 속성을 사용하여 현재 선택한 항목의 목록 색인을 가져올 수 있습니다.

그러나 일부 텍스트가 콤보 상자의 텍스트 필드에 입력되고 SelectedIndex 속성이 올바르게 업데이트되지 않고 대신 -1 값을 포함하는 경우가 있습니다. . 어떤 목록 항목이 지정된 텍스트로 발견되지 않는 경우

Dim selectedIndex As Integer = myComboBox.FindStringExact(myComboBox.Text) 

(, BTW, 그 기능은 -1를 반환합니다 이러한 경우에, 당신은 입력 된 텍스트의리스트 인덱스를 찾기 위해 ComboBox.FindStringExact 방법을 사용할 수 있습니다.)

관련 문제