我需要在 winform c# 中验证 Tabcontroll,我想在选择另一个选项卡之前显示一条消息

0 c# tabs datagrid winforms

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

'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;
                }
            }
        }
Run Code Online (Sandbox Code Playgroud)

'''

Loa*_*ing 5

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);
    }
}
Run Code Online (Sandbox Code Playgroud)