【问题标题】:I need to validate Tabcontroll in winform c#, I want show a message before selecting another tab我需要在 winform c# 中验证 Tabcontroll,我想在选择另一个选项卡之前显示一条消息
【发布时间】:2021-04-09 23:07:57
【问题描述】:

如果消息结果为“否”,我想在选择另一个选项卡之前显示一条消息,如果消息结果为“是”,则它应保留在当前选项卡中,然后应打开选定的选项卡。 我试过以下代码。 ''

'private void tbRWINV_Selected(object sender, TabControlEventArgs e){
    if (dgvSaleReturnWintoutInvoice.Rows.Count > 0)
            {
                DialogResult msg = new DialogResult();
                msg = MessageBox.Show("The data entered for return will be lost if you move to other Tab", "Question", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
                if (msg == DialogResult.No)
                {
                    tbRWINV.TabIndex = 1;
                }
            }
        }

'''

【问题讨论】:

  • TabControl.Selecting += ...; ?
  • 请解释一下......?
  • 厌恶意味着你应该使用TabControlSelecting事件。
  • 好的,但我如何验证它

标签: c# winforms datagrid tabs


【解决方案1】:

TabControlCancelEventArgs 事件对象有一个bool Cancel 属性,它将取消选项卡更改。例如:

public class MyForm : Form {
    TabControl tc = new TabControl();
    public MyForm() {
        //...
        tc.Selecting += tc_Selecting;
    }

    void tc_Selecting(object sender, TabControlCancelEventArgs e) {
        DialogResult r = MessageBox.Show(this, "Are you sure you want to change tabs?", "Confirm", MessageBoxButtons.YesNo);
        e.Cancel = (r == DialogResult.No);
    }
}

【讨论】:

  • 谢谢,它完美地满足了我的需求
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多