проверка Checkbox

голоса
1

У меня есть 2 флажки, я хочу знать, как управлять этим: если один проверяется сделать это, если другая проверка делать, если оба проверяются сделать оба действия.

Кроме того, если никто не проверил и я нажимаю на кнопку, чтобы выполнить действие, оно должно отображаться «Пожалуйста, выберите один из вариантов или обоих.»

Спасибо за ваше время

-Summey

Задан 14/08/2009 в 17:26
источник пользователем
На других языках...                            


5 ответов

голоса
8

if (!checkBox1.Checked && !checkBox2.Checked)
{
    MessageBox.Show("Please select at least one!");
}
else if (checkBox1.Checked && !checkBox2.Checked)
{
    MessageBox.Show("You selected the first one!");
}
else if (!checkBox1.Checked && checkBox2.Checked)
{
    MessageBox.Show("You selected the second one!");
}
else //Both are checked
{
    MessageBox.Show("You selected both!");
}
Ответил 14/08/2009 в 17:33
источник пользователем

голоса
1

Я думаю, что вы хотели бы что-то вроде этого:

    private void button1_Click(object sender, EventArgs e) {
        if (checkBox1.Checked) {
            Console.WriteLine("Do checkBox1 thing.");
        }
        if (checkBox2.Checked) {
            Console.WriteLine("Do checkBox2 thing.");
        }
        if (!checkBox1.Checked && !checkBox2.Checked) {
            Console.WriteLine("Do something since neither checkBox1 and checkBox2 are checked.");
        }
    }
Ответил 14/08/2009 в 17:34
источник пользователем

голоса
0

В обработчик событий для кнопки, просто проверить, какие кнопки на самом деле проверяется, а именно:

if ( myCheckBox1.Checked && myCheckBox2.Checked )
{
    // Do action for both checked.
}
Ответил 14/08/2009 в 17:34
источник пользователем

голоса
4

Также;

if(checkBox1.Checked || checkBox2.Checked)
{
  if(checkBox1.Checked) doCheckBox1Stuff();
  if(checkBox2.Checked) doCheckBox2Stuff();
}else {
  MessageBox.Show("Please select at least one option.");
}
Ответил 14/08/2009 в 17:45
источник пользователем

голоса
0

Вместо того, чтобы выполнять функции чек-бокс на кнопку мыши, вы можете использовать OnCheckedChanged событие флажке и установить AutoPostBack истина, в ASP.NET. После этого вы можете выполнить действия Флажка автоматически и выполнить проверку данных на событии нажатия кнопки.

(WinForms)

private void checkbox1_CheckedChanged(object sender, EventArgs e)
{
    //Execute method
}

(ASP.NET)

<asp:CheckBox ID="checkbox" runat="server" OnCheckedChanged="checkbox_OnCheckedChanged" AutoPostBack="true" />

private void checkbox_OnCheckedChanged(object sender, EventArgs e)
{
    //Execute method
}

Кнопка Нажмите Событие

protected void button_onclick(object sender, EventArgs e)
{
    if (!checkbox1.Checked || !checkbox2.Checked)
        MessageBox.Show("Error"); 
}
Ответил 14/08/2009 в 18:17
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more