Ist*_*tel 3 c# treeview keydown winforms
如果您在 TreeView 的 keydown 事件中打开任何模式对话框(或者在 KeyPreview=true 的表单中,如果焦点位于 TreeView 上),您将听到烦人的 DING 声!
我该如何防止它发生?
此叮声通常是按键事件未处理的信号(例如,默认情况下 TextBox 会因 Ctrl+A 等而发出叮声)。但是,设置 e.Handled 或 e.SuppressKeyPress 对于 TreeView 中的模式对话框没有帮助。除了打开模式对话框之外,它在执行任何操作时都会有所帮助!
当您在其中一个事件中注入消息循环时,本机 Windows 树视图控件会变得非常暴躁。标准的解决方案是延迟事件的处理,直到所有事件都完成。使用 Control.BeginInvoke() 方法可以轻松完成。在这种情况下也起作用:
private void treeView1_KeyDown(object sender, KeyEventArgs e) {
e.Handled = e.SuppressKeyPress = true;
this.BeginInvoke(new Action(() =>
(new Form1()).ShowDialog()
));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1392 次 |
| 最近记录: |