[윈폼] 체크박스 120개를 검사하고 싶은데 방법을 모르겠습니다.
글쓴이: fkqpfwl121 / 작성시간: 목, 2015/11/19 - 10:07오후
우선 제가 고난을 겪고있는 코드내용은 ..
120개의 도구로 만든 체크박스와 제가 선언한 120개의 box배열(CheckBox[] boxes = new CheckBox[120];)
두 값이 모두 true라면
첫번쨰 체크박스를 enable을 false로 설정을 하는 것입니다.
어떻게 if문의 조건처리를 해야할지 모르겠습니다 ㅜㅜ 도와주세요
for(int i=1; i<=120; i++)
{
if(checkbox[i].checked == box[i].checked) // if문 바로앞에 있는 checkbox[i].checked 이부분이 배열형식이 아니라 이렇게 구성불가..
checkbox[i].enabled = false
}
Forums:
여러가지 방법이 있을것 같습니다.
- 그냥. printf()로 C# 코드를 자동 생성하는 방법
- 클릭 할때마다. 클릭 변환 이벤트를 받아서 처리해주는 방법
- Object 배열로 만들어서 사용 (포인터 배열처럼)
- Eval() 을 사용
Eval() 은 객체의 이름으로 변수처럼 사용하는 방법인데요. 그중에서도 몇가지 방법이 있나봅니다.
클릭 이벤트 마다. 처리해주는 방법
http://www.csharpstudy.com/WinForms/WinForms-checkbox.aspx
C# Object 배열
http://search.naver.com/search.naver?sm=stb_hty&where=se&ie=utf8&query=C%23+Object+%EB%B0%B0%EC%97%B4
DataBinder.Eval() 을 사용하는 방법
http://blog.naver.com/zndizizi?Redirect=Log&logNo=80066123465
C# Eval: An Embeddable Compiler
http://tirania.org/blog/archive/2008/Sep-10.html
C# Eval Function
http://www.codeproject.com/Articles/13335/C-Eval-Function
Setting checked value for Eval(bool)
http://stackoverflow.com/questions/19182859/setting-checked-value-for-evalbool
How to make a checkbox checked in a gridview using DataBinder.Eval
http://stackoverflow.com/questions/7689799/how-to-make-a-checkbox-checked-in-a-gridview-using-databinder-eval
Set CheckBox “Checked” propery in ASP repeater
http://stackoverflow.com/questions/12073670/set-checkbox-checked-propery-in-asp-repeater
bind boolean value to a griview as checkbox
http://forums.asp.net/t/1499377.aspx?bind+boolean+value+to+a+griview+as+checkbox
실버라이트 C#에서 eval이나 ["오브젝트 이름"] 같은 역할?
http://demozip.tistory.com/68
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
CheckBox[] boxes = new
CheckBox[] boxes = new CheckBox[90];
for (int i=1; i<=90; i++)
{
boxes[i] = new CheckBox();
boxes[i].Checked = true;
}
CheckBox[] count = { checkBox1, checkBox2,
checkBox3, checkBox4, checkBox5, checkBox6, checkBox7, checkBox8,
checkBox9, checkBox10};
for (int j=1 ; j<= 10; j++)
{
if(count[j].Checked == boxes[j].Checked)
{
count[j].Enabled = false;
}
}
하 ..이렇게 해봤는데 실행중에 인덱스가 배열범위를 벗어났다는데..
도무지 어떻게 해야할지를 모르겠네요..
답변 정말 감사드립니다만 어디가 잘못된건지 잘 모르겠어요 에고고..
배열이 아니면 배열로 만들어 주시면
배열이 아니면 배열로 만들어 주시면 되죠.
class *xxxx xptr[120];
xptr[0] = (class *xxxx)checkbox1;
xptr[1] = (class *xxxx)checkbox2;
.....
그 후에
for 루프를 쓰던지 해서 체크를 하시면 됩니다.
한번은 초기화를 해주셔야죠.
제가 한 부분은 어디가 잘못되었는지 아시겠나요 ㅠㅜ
CheckBox[] boxes = new CheckBox[90];
for (int i=1; i<=90; i++)
{
boxes[i] = new CheckBox();
boxes[i].Checked = true;
}
CheckBox[] count = { checkBox1, checkBox2,
checkBox3, checkBox4, checkBox5, checkBox6, checkBox7, checkBox8,
checkBox9, checkBox10};
for (int j=1 ; j<= 10; j++)
{
if(count[j].Checked == boxes[j].Checked)
{
count[j].Enabled = false;
}
}
하 ..이렇게 해봤는데 실행중에 인덱스가 배열범위를 벗어났다는데..
도무지 어떻게 해야할지를 모르겠네요..
답변 정말 감사드립니다만 어디가 잘못된건지 잘 모르겠어요 에고고..
이렇게요
for (int j=0 ; j< 10; j++)
값을 하나씩 출력해보면서 확인해보세요.
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
아!! 배열 인덱스는 0부터
아!! 배열 인덱스는 0부터 시작이니까
그런거였군요!!
감사합니다.
아!! 배열 인덱스는 0부터
아!! 배열 인덱스는 0부터 시작이니까
그런거였군요!!
감사합니다.
댓글 달기