[윈폼] 체크박스 120개를 검사하고 싶은데 방법을 모르겠습니다.

fkqpfwl121의 이미지


우선 제가 고난을 겪고있는 코드내용은 ..

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
}

shint의 이미지


- 그냥. 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

fkqpfwl121의 이미지

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 루프를 쓰던지 해서 체크를 하시면 됩니다.

한번은 초기화를 해주셔야죠.

fkqpfwl121의 이미지

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;
}
}

하 ..이렇게 해봤는데 실행중에 인덱스가 배열범위를 벗어났다는데..

도무지 어떻게 해야할지를 모르겠네요..

답변 정말 감사드립니다만 어디가 잘못된건지 잘 모르겠어요 에고고..

shint의 이미지

for (int j=0 ; j< 10; j++)

값을 하나씩 출력해보면서 확인해보세요.

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com

익명 사용자의 이미지

아!! 배열 인덱스는 0부터 시작이니까

그런거였군요!!

감사합니다.

익명 사용자의 이미지

아!! 배열 인덱스는 0부터 시작이니까

그런거였군요!!

감사합니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.