C# 勾选方框时要求确认

C# 勾选方框时要求确认,c#,.net,winforms,C#,.net,Winforms,我目前有一个表单,它有几个复选框,一旦所有的复选框都被选中或保留为空,它就会将复选框的状态发送到数据库 我想补充一点,如果一个框没有被选中,当你选中它时,它应该要求确认窗口“你确定你想选中这个” 需要帮忙吗 这是当前代码 public IMeditor(IMui IMui, IMuser U, string User) { InitializeComponent(); this.IMui = IMui; imu =

我目前有一个表单,它有几个复选框,一旦所有的复选框都被选中或保留为空,它就会将复选框的状态发送到数据库 我想补充一点,如果一个框没有被选中,当你选中它时,它应该要求确认窗口“你确定你想选中这个” 需要帮忙吗

这是当前代码

            public IMeditor(IMui IMui, IMuser U, string User)
    {
        InitializeComponent();
        this.IMui = IMui;
        imu = U;
        if (imu.UID == 0)
        {
            Add.Text = "Add";
            imu.name = user;
        }
        else
            Add.Text = "Update";
        AuthChat.Checked = imu.AuthChat == 1;
        AuthTac1.Checked = imu.AuthTac1 == 1;
        AuthTac2.Checked = imu.AuthTac2 == 1;
        AuthTac3.Checked = imu.AuthTac3 == 1;
        AuthTac4.Checked = imu.AuthTac4 == 1;
        AuthTac5.Checked = imu.AuthTac5 == 1;
        AuthTac6.Checked = imu.AuthTac6 == 1;
        AuthTac7.Checked = imu.AuthTac7 == 1;
        AuthTac8.Checked = imu.AuthTac8 == 1;
        AuthTac9.Checked = imu.AuthTac9 == 1;
        AuthTac10.Checked = imu.AuthTac10 == 1;

        switch (imu.Transport.ToLower()) {
            case "aim":   Transport.SelectedIndex = 0; break;
            case "gtalk": Transport.SelectedIndex = 1; break;
            case "msn":   Transport.SelectedIndex = 2; break;
            case "yahoo": Transport.SelectedIndex = 3; break;
        }
    }

您需要为复选框处理事件CheckedChangedEvent。您可以在上找到示例代码。也

理解复选框


或者,您可以从windows窗体的复选框控件派生您自己的类,然后重写所需的函数,实现您自己的逻辑,并从该派生类创建应用程序中的所有复选框。我同意Izzy。添加如下内容

    private void PrivateInitialize()
    {

        CheckBox chkBox = new CheckBox();
        chkBox.Text = "Click me";
        chkBox.CheckedChanged += new EventHandler(chkBox_CheckedChanged);
    }

    private void chkBox_CheckedChanged(object sender, EventArgs e)
    {
        MessageBox.Show("Nag, nag, nag!  You take out the trash yet?");
    }

用javascript实现吗?add OnClientClick=“return confirmCheck(this);”


功能确认检查(e){
返回确认(“您确定吗?”);
//做其他事情
}

这应该比重定向用户要好

你确定要这么骚扰你的用户吗?通常,点击一个框只是勾选或取消勾选框——这正是用户要求的。@sarnold这不是用户填写的表单,这是一个表单,我想提醒用户,他勾选了一个通常不应该勾选的框(只有少数几个框)(仅限管理员)。对不起,我是一个新手的孩子,所以我需要更多的帮助来完成这项工作,也许有人可以编辑我正在使用的代码?或者一步一步地告诉我我要做的事这是winforms应用程序。javascript从何而来?它现在提醒我,如果我愿意将它作为“是”或“否”框,该怎么办?因此,它会询问您是否确实要选中此框,并且只有在选中此框时才会发出提示。。如果取消检查,那么我不喜欢一个消息窗口。我已经发布了新的答案。希望对你有帮助。
public IMeditor(IMui IMui, IMuser U, string User)
    {
        InitializeComponent();
        this.IMui = IMui;
        imu = U;
        if (imu.UID == 0)
        {
            Add.Text = "Add";
            imu.name = user;
        }
        else
            Add.Text = "Update";
        AuthChat.Checked = imu.AuthChat == 1;
        AuthTac1.Checked = imu.AuthTac1 == 1;
        AuthTac2.Checked = imu.AuthTac2 == 1;
        AuthTac3.Checked = imu.AuthTac3 == 1;
        AuthTac4.Checked = imu.AuthTac4 == 1;
        AuthTac5.Checked = imu.AuthTac5 == 1;
        AuthTac6.Checked = imu.AuthTac6 == 1;
        AuthTac7.Checked = imu.AuthTac7 == 1;
        AuthTac8.Checked = imu.AuthTac8 == 1;
        AuthTac9.Checked = imu.AuthTac9 == 1;
        AuthTac10.Checked = imu.AuthTac10 == 1;

        switch (imu.Transport.ToLower()) {
            case "aim":   Transport.SelectedIndex = 0; break;
            case "gtalk": Transport.SelectedIndex = 1; break;
            case "msn":   Transport.SelectedIndex = 2; break;
            case "yahoo": Transport.SelectedIndex = 3; break;
        }

         AuthChat.Click += new EventHandler(ClickHandler);


    }

 void ClickHandler(Object obj, EventArgs args)
        { 
if (obj == AuthChat && AuthChat.CheckState == CheckState.Checked)
            {
                DialogResult result = MessageBox.Show("Do you want to change?", "are you sure?", MessageBoxButtons.YesNo);        

                if (result == DialogResult.No)
                {
                    AuthChat.Checked = false;
                }
            }
        }
<script language="javascript">
function confirmCheck(e){
 return confirm("are you sure?");
 // do other stuff
}
</script>
public IMeditor(IMui IMui, IMuser U, string User)
    {
        InitializeComponent();
        this.IMui = IMui;
        imu = U;
        if (imu.UID == 0)
        {
            Add.Text = "Add";
            imu.name = user;
        }
        else
            Add.Text = "Update";
        AuthChat.Checked = imu.AuthChat == 1;
        AuthTac1.Checked = imu.AuthTac1 == 1;
        AuthTac2.Checked = imu.AuthTac2 == 1;
        AuthTac3.Checked = imu.AuthTac3 == 1;
        AuthTac4.Checked = imu.AuthTac4 == 1;
        AuthTac5.Checked = imu.AuthTac5 == 1;
        AuthTac6.Checked = imu.AuthTac6 == 1;
        AuthTac7.Checked = imu.AuthTac7 == 1;
        AuthTac8.Checked = imu.AuthTac8 == 1;
        AuthTac9.Checked = imu.AuthTac9 == 1;
        AuthTac10.Checked = imu.AuthTac10 == 1;

        switch (imu.Transport.ToLower()) {
            case "aim":   Transport.SelectedIndex = 0; break;
            case "gtalk": Transport.SelectedIndex = 1; break;
            case "msn":   Transport.SelectedIndex = 2; break;
            case "yahoo": Transport.SelectedIndex = 3; break;
        }

         AuthChat.Click += new EventHandler(ClickHandler);


    }

 void ClickHandler(Object obj, EventArgs args)
        { 
if (obj == AuthChat && AuthChat.CheckState == CheckState.Checked)
            {
                DialogResult result = MessageBox.Show("Do you want to change?", "are you sure?", MessageBoxButtons.YesNo);        

                if (result == DialogResult.No)
                {
                    AuthChat.Checked = false;
                }
            }
        }