2014-01-25 1 views
0

listview 속성을 enabled = false로 설정하면 스크롤 막대가 작동하지 않습니다. 내가 원했던 것은 사용자가 제품을 추가하기로 결정했을 때 체크 박스가 목록보기의 스크롤 막대와 동일하게 정상적으로 작동하지만 사용자가 제품을보고 싶을 때 목록보기에서 스크롤 할 수 있지만 ' 사용자가 확인란을 선택 또는 선택 취소하도록합니다. 도와주세요.listview에서 확인란을 만드는 방법 readonly C#?

나는 제품을 추가 할 때 내가 스크롤 정상적으로 체크 박스를 확인하실 수 있습니다 : 회색 (나는 제품을 볼 때

private void addProduct_Click(object sender, EventArgs e)   { 
      listviewProduct.Enabled = true; 
     } 

http://postimg.org/image/6y4g9568x/

은 내가 scrolldown 수없는 내가 너무 확인란을 확인할 수 없습니다 아웃) :

private void viewProduct_Click(object sender, EventArgs e)   { 
       listviewProduct.Enabled = false; 
      } 

http://postimg.org/image/7cjz9o1jf/

+1

이 Winforms 또는 WPF입니까? – Default

+0

문제를 자세히 설명하는 코드 또는 문제가있는 프로그램의 일부 스크린 샷을 추가 할 수 있습니까? – Default

+2

체크 박스에'enabled = false'를 설정해 보셨습니까? – Default

답변

3

ItemCheck 이벤트로이를 쉽게 구현할 수 있습니다. 단순히 변수를 설정

private void listViewProduct_ItemCheck(object sender, ItemCheckEventArgs e) { 
     if (ViewReadOnly) e.NewValue = e.CurrentValue; 
    } 

:

private bool ViewReadOnly; 

는 다음과 같이 ItemCheck 이벤트 핸들러를 작성 :리스트 뷰는 "보기 전용"모드에 있음을 나타냅니다 양식 클래스 부울 변수가 말 ~ true UI가 "보기 전용"모드로 전환되면 편집 모드로 전환 할 때 false으로 돌아갑니다. 따라서 :

private void viewProduct_Click(object sender, EventArgs e) { 
     ViewReadOnly = true; 
     listViewProduct.BackColor = Color.Gainsboro; 
    } 

등등. BackColor 변경 사항이나 사용자가 선호하는 다른 표시가 무엇이든간에 사용자가 체크 박스를 두드리면 아무 효과가 없을 것이라는 의견을 사용자에게주고 싶습니다.

+0

정말 고마워요! – user3233787

1

확실히 읽기 전용 모드 일 때 체크 박스를 false으로 설정하면 사용할 수 있습니까?

listView1.CheckBoxes = false; 

그런 식으로 그들은 그것을 보지 못할 것입니다. 그리고 사용자에게 혼란을 피할 수 있습니다. (컨트롤에 체크 상자가 표시되면 일반적으로 내가 뭔가를 할 수 있다고 생각합니다).

관련 문제