2011-12-18 3 views
0

C#으로 게임을 조금 만들려고합니다.
프로그램에서 사용자에게 숫자를 묻습니다.
그런 다음 사용자는 "GO"(버튼 1)를 누르고 번호가 짝수인지 여부를 확인합니다. (x % 2 == 0)경우에 따라 항목 (체크 박스, 라디오 버튼 등)을 표시하십시오.

각 경우에 따라 총 8 개의 체크 박스/라디오 버튼을 표시하는 프로그램을 얻으려고합니다. 예를 들어
:

  • 수가 짝수 인 경우 :이 프로그램은 옵션 2,5,3,6 표시됩니다가.
  • 숫자가 ODD NUMBER 인 경우 : 프로그램에 1,4,7,8 옵션이 표시됩니다.

(옵션 1-8 이미 설계에 포함되었다가.)

나는 if (x % 2 == 0) 부분 도움이 필요합니다. 체크 박스/라디오 버튼을 표시하거나 사라지게하려면 무엇을 써야합니까?

그런데 "GO"를 클릭하지 않고도 사용자에게 번호를 묻는 방법이 있습니까? 마찬가지로 ENTER를 사용하십시오. 그렇다면 어떤 사건입니까?
또한 텍스트 상자를 INT로만 제한하는 방법이 있습니까?

나는 그 일을 해달라고 부탁하고 있지만, 나는 여전히 노력하고 있으며, 나는 여전히 진정한 초보자이기 때문에, 나의 학습 방법은 실제로 그것을 경험하는 것이라고 생각한다.

public partial class Form1 : Form 
{ 
    int x; 
    public Form1() 
    { 
     InitializeComponent(); 
    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     x = int.Parse(textBox1.Text); 
     if (x % 2 == 0) 
     { 
     } 
    } 
} 

답변

1

CheckBox (Control에서 상속)의 Visible 속성은 필요할 때 필요한 컨트롤을 표시하는 데 도움이됩니다. 당신이 대신 두 조건문 코딩과 동시에 모든 CheckBox의의 가시성을 설정하는 조건을 사용하여 비트를 최적화 할 수 있습니다 그러나

if (num % 2 == 0) 
{ 
    box1.Visible = false; 
    box2.Visible = true; 
    // ... 
} 
else 
{ 
    box1.Visible = true; 
    box2.Visible = false; 
    // ... 
} 

, 같은, 보일 것이다 경우 - 같은 :

box1.Visible = !(num % 2 == 0); 
box2.Visible = (num % 2 == 0); 
// ... 

입력시에는 OnKeyDown 이벤트를 확인하십시오. 디자이너를 통해이 작업을 수행 할 수 있습니다. 이벤트 방법은 다음과 같습니다.

private void myControl_OnKeyDown(object sender, KeyEventArgs e) 
{ 
    if (e.KeyCode == Keys.Enter) 
    { 
     // Handle enter key pressed here 
    } 
} 

문제를 해결하는 데 도움이됩니다.

추가 응답

List<CheckBox> boxes = new List<CheckBox>(); 
// Add all boxes and do other stuff, disable all 

foreach (CheckBox box in boxes) 
{ 
    box.Visible = false; 
} 
+0

감사합니다, 그런데, 모두 모든 상자를 숨길 수있는 방법은 무엇입니까? 모두'box1.Visible = false; box2.Visible = false'를 쓰는 대신에? – Asaf

+0

일반 목록 ('List boxes')에 던져주고'foreach' 루프를 사용하십시오. 대답에 스 니펫을 추가하겠습니다. –

0

int에 텍스트 상자를 제한하기 위해, 당신은 OnKeyPressed를 오버라이드 (override) 할 수있다. 확인란의 경우 Visible 또는 Checked 속성을 사용할 수 있습니다.

관련 문제