按案例显示项目(复选框,单选按钮等)(如果......其他......等等......)

时间:2011-12-18 18:17:09

标签: c# winforms

我正在尝试用C#做一个小游戏 程序要求用户输入任意数字 然后用户按下“GO”(按钮1),程序检查该号码是否为偶数。 (x%2 == 0)

我试图让程序显示4个复选框/单选按钮,总共8个,具体取决于每种情况。
例如:

  • 如果号码是偶数:该程序将显示选项2,5,3,6。
  • 如果号码是ODD号码:程序将显示选项1,4,7,8。

(选项1-8已包含在设计中。)

我需要if (x % 2 == 0)部分的帮助。我在其中写什么来使复选框/单选按钮出现或消失?

顺便问一下,有没有办法让用户输入一个号码,而不必点击“开始”? 比如,使用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)
        {
        }
    }
}

2 个答案:

答案 0 :(得分:1)

Visible的{​​{1}}属性(继承自CheckBox)将帮助您在需要时显示所需的控件。你的if会是什么样的,

Control

但是,通过使用条件同时设置所有if (num % 2 == 0) { box1.Visible = false; box2.Visible = true; // ... } else { box1.Visible = true; box2.Visible = false; // ... } s的可见性而不是编码两个条件,可以稍微优化一下 - 例如:

CheckBox

至于按Enter键,检查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
    }
}

答案 1 :(得分:0)

要将文本框限制为int,您可以覆盖OnKeyPressed。至于您的复选框,您可以使用VisibleChecked属性。