나는 그러므로 당신이 어떤 경우에 당신이 당신의 통제에 충분한 목록 항목이없는 추측 어떤 공간을 클릭하면 SelectedIndexChanged이 (가) 해고되었습니다.
컨트롤의 크기를 항상 목록 항목의 수에 맞게 조절할 수 없거나이 질문을하지 않는 것이 좋습니다.
사용자가 동일한 목록 항목을 클릭 (선택)하면 어떻게됩니까? 선택한 인덱스가 동일하더라도 일부 논리가 발생해야합니까? (동일한 논리가 처음 발생했을 때 클릭 한 경우)?
당신은 다음과 같은 해킹을 사용할 수 한 번 무시해야보다 더 많은 같은 인덱스를 선택하는 것이 필요한 경우 :
양식 범위 (목록 상자 컨트롤을 포함하는 양식) 각 시간 선택에 변수를 유지 인덱스 변경은 해당 변수를 설정합니다. 그런 다음 나중에 이벤트 처리를 무시하도록 동일한 선택이 이루어 졌는지 확인하십시오. 여기에 한 예가 나와 있습니다.
private int _currSelIdx = -1; // Default value for the selected index when no selection
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (listBox1.SelectedIndex == _currSelIdx)
return;
Console.WriteLine(listBox1.SelectedIndex);
_currSelIdx = listBox1.SelectedIndex;
}
어쨌든간에 ... 어떤 작품이든!
Winforms? 그렇다면, 태그에 추가하십시오. –
@Merlyn,리스트 박스를 사용하고 있기 때문에 꽤 분명합니다. –
- WPF에는 ListBox 컨트롤도 있습니다. Merlyn의 의견을보기 전에 실제로 귀하의 질문에 대한 답변을 드릴 것입니다. – Eternal21