2011-12-07 6 views
0

목록 상자에서 첫 번째 항목을 선택하면 내 위로 단추를 사용하지 않아야합니다. 마찬가지로 목록 상자의 아래쪽 버튼에서 Lastitem을 선택하면 비활성화해야합니다. 나는 인덱스단추를 사용하지 않음

if (lstview.SelectedIndex >= 0) 
    { 
    var selectedItems = lstview.SelectedItems; 
    foreach (ClassName selectedItem in selectedItems) 
     { 
     lstview.Items.Remove(selectedItem); 
     break; 
     }    
    } 

를 선택 사용하여 선택된 항목을 찾을 수 있습니다하지만

+1

'btn.Disabled = true; ' – JonH

+0

첫 번째 항목이나 마지막 항목을 클릭하면 btn.delete = true가됩니다. 그것을 성취하는 방법? – user982129

+0

그냥 일반 함수를 만들고 이벤트에서 해당 함수를 호출 - 내 대답은 beaners 대답을 참조하십시오. – JonH

답변

1

과 함께 선택된 인덱스를 비교 목록 상자에서 첫 번째 항목 또는 마지막 항목을 선택에 따라 최대 및 다운 버튼을 사용하지 않도록 설정하는 방법 0 및 목록의 항목 수를 확인하고 선택한 인덱스를 기반으로 단추의 Enabled 속성을 설정합니다.

private void lstView_SelectedIndexChanged(object sender, System.EventArgs e) 
{ 
    upButton.Enabled = lstView.SelectedIndex > 0; 
    downButton.Enabled = lstView.SelectedIndex < lstView.Items.Count - 1; 
} 
+0

이벤트를 클릭하면이 문제가 발생할 수 있습니다. 그러나 목록 상자의 첫 번째 항목을 클릭하는 방법을 자세히 설명하는 방법 – user982129

+0

@ user982129 요청이 간단합니다. 코드를 일반 함수에 넣고 코드 또는 단추 이벤트에서 호출합니다. 이벤트에 코드를 추가하는 대신 이벤트의 함수를 호출하면됩니다. btn_Click (sender s, event e) {myFunc(); } void myFunc() {// do code}' – JonH

+0

이 btn_Click (보낸 사람, 이벤트 e)이 호출 될 때 알려 주시겠습니까? 나를 위해 – user982129

관련 문제