(VS2005,.Net 2.0)
我有一个使用 ShowDialog() 方法显示为对话框的表单。窗体的 CancelButton 属性设置为窗体上的按钮。即使我将该按钮的 DialogResult 设置为 None,单击该按钮仍会关闭对话框。我不希望这种情况发生 - 我希望能够控制对话框是否关闭。
表单的 AcceptButton 不会出现此问题 - 将该按钮的 DialogResult 设置为 none,我可以进行必要的处理,然后决定是否手动设置表单的 DialogResult 以使其关闭。
我认为 CancelButton 属性仅用于指示按下 Escape 时应“单击”的按钮(就像 AcceptButton 仅应指示按下 Enter 时“单击”的按钮)。我错了吗?我是否错过了表单关闭的其他原因?或者这是一个错误?
编辑:添加代码。这是带有取消按钮(按钮 1)的对话框(表格 2)。取消按钮只是表单的CancelButton,它没有DialogResult设置为Cancel,但是按下按钮还是会关闭表单
private void InitializeComponent()
{
this.button1 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// button1
//
this.button1.Name = "button1";
this.button1.Text = "button1";
//
// Form2
//
this.CancelButton = this.button1;
this.Controls.Add( this.button1 );
this.Name = "Form2";
this.Text = "Form2";
this.ResumeLayout( false );
}