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