private void frmSearch_Load(object sender, EventArgs e)
{
// TODO: This line of code loads data into the 'bookdatabaseDataSet.Dist_Year' table. You can move, or remove it, as needed.
this.dist_YearTableAdapter.Fill(this.bookdatabaseDataSet.Dist_Year);
// TODO: This line of code loads data into the 'bookdatabaseDataSet.Dist_Auth' table. You can move, or remove it, as needed.
this.dist_AuthTableAdapter.Fill(this.bookdatabaseDataSet.Dist_Auth);
// TODO: This line of code loads data into the 'bookdatabaseDataSet.Book' table. You can move, or remove it, as needed.
this.bookTableAdapter.Fill(this.bookdatabaseDataSet.Book);
}
private void button1_Click(object sender, EventArgs e)
{
Form f4 = new Confirm();
f4.Show();
Hide();
}
private void button2_Click(object sender, EventArgs e)
{
if (MessageBox.Show("Are you sure you want to Exit?", "Exit", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
Application.Exit();
}
}
我的问题是: 如果我没有选中任何复选框,我希望从表单中给出错误消息。什么是正确的代码?我应该在哪里找对吗?非常感谢您的关注。 form of windows application
答案 0 :(得分:2)
对于每个复选框都执行checkbox.Checked test(布尔AND)并显示一个消息框。
如果你想阻止关闭应用程序,那么你必须处理关闭事件并在这种情况下将CANCEL设置为true。
void HandleFormClosing (object sender, CancelEventArgs args)
{
if (checkbox1.Checked && checkbox2.Checked)
return;
MessageBox.Show ("Need to check all boxes");
args.Cancel = true;
}
答案 1 :(得分:0)
这不会给你一个直接的答案(工作完成 - 只是为了你的答案),但应该指出你正确的方向:
答案 2 :(得分:0)
您可以使用custom validation执行此操作。
但你也可以摆脱复选框,并假设如果用户在文本框中键入,那么他们想要在该字段上进行搜索。
从禁用搜索按钮开始,仅在至少一个字段中包含文本时启用它。
答案 3 :(得分:0)
我想你想确保在点击button1
时至少选中一个复选框,对吧?如果是,请将其放在button1_Click
事件的开头。
private void button1_Click(object sender, EventArgs e)
{
if (!checkbox1.Checked && !checkbox2.Checked && !checkbox100.Checked)
{
MessageBox.Show("Please select a checkbox.", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
checkbox1.Focus();
}
else
{
Form f4 = new Confirm();
f4.Show();
Hide();
}
}