【发布时间】:2013-11-25 23:00:28
【问题描述】:
当用户选择它的格式时,我正在对我的 ID 字段进行验证。验证有效,除了当它显示您选择确定的消息框时,它会在返回表单之前再次重复。我在下面提供了我的代码。我使用了 dialogresult 部分来查看让它执行某个操作是否会阻止问题。这已通过使用其中一个答案提到的 Click 事件来解决。
private void rChkBoxB_ToggleStateChanged(object sender, Telerik.WinControls.UI.StateChangedEventArgs args)
{
if (Convert.ToInt32(rTxtBoxFormatID.Text) > 256)
{
DialogResult dialogresult = MessageBox.Show("B does not support numbering over a number!", "Error",
MessageBoxButtons.OK, MessageBoxIcon.Error);
if (dialogresult == DialogResult.OK)
{
rChkBoxB.Checked = false;
}
}
}
新问题是在单击事件后将复选框变回 false。这是我更新的代码。典型的 checkbox.checked = false 不会将其更改回 false。我使用断点来验证我是否正在获取 if 语句,并且我的复选框的值为 false。如何将属性改回 false?
private void rChkBoxB_Click(object sender, EventArgs e)
{
if (Convert.ToInt32(rTxtBoxFormatID.Text) > 256)
{
DialogResult dialogresult = MessageBox.Show("B does not support numbering over a number!", "Error",
MessageBoxButtons.OK, MessageBoxIcon.Error);
if (dialogresult == DialogResult.OK)
{
rChkBoxB.Checked = false;
}
}
}
【问题讨论】:
-
我猜
rChkBoxB_ToggleStateChanged被调用了两次。断点并检查它。
标签: c# textbox messagebox