Rob*_*rey 20 binding modal-dialog winforms
这些天使用软件时,ESC键通常会关闭对话框,而不会持续进行任何更改.我喜欢这一点,特别是因为即使对话框上可能有一个取消按钮,我也不一定想要将鼠标或制表符移到取消按钮上.这是一个很好的干净方式,说"哎呀,并不打算这样做!" 到软件.事实上,我发现我对没有实现此功能的软件感到恼火,我无法相信它还没有在Winforms的引擎下完成 - 对我来说似乎很直观......
我已经看过挂钩表格KeyPress事件,或试图模拟"取消"DialogResult等.似乎有很多方法来解决这个问题......
所以问题是:在没有保存任何更改的情况下,最简单的方法是绑定ESC键以关闭对话框?
非常感谢那些有经验的人的帮助!
Ric*_*dle 28
设置CancelButton表单的属性以引用"取消"按钮.
Ada*_*ler 11
要在没有取消按钮时执行此操作,可以覆盖processcmdkey:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == Keys.Escape)
{
this.Close();
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
Run Code Online (Sandbox Code Playgroud)
您还可以将表单的CancelButton属性设置为取消按钮:
this.CancelButton = this.cancelButton;
Run Code Online (Sandbox Code Playgroud)
在Visual Studio中,您可以通过表单的属性进行设置,并将代码添加到Form.Designer.cs文件中
| 归档时间: |
|
| 查看次数: |
10121 次 |
| 最近记录: |