【发布时间】:2016-06-15 22:08:04
【问题描述】:
我有一个包含许多子控件的 WinForm 控件。父控件永远不会有焦点。我想在父级别处理在子级别发生的某些击键组合。下面是我想要完成的一个简单示例。如果 ChildB(或 ChildB 中的某些控件)具有焦点,则按 Ctrl+A 应从视图中删除 ChildB 并添加 ChildA。
public partial class ParentControl : UserControl
{
ChildControl ChildA = new ChildControl();
ChildControl ChildB = new ChildControl();
ChildControl ChildC = new ChildControl();
public ParentControl()
{
InitializeComponent();
Controls.Add(ChildA);
}
private void CapturedFromCildControl(object sender, KeyEventArgs e)
{
if (e.Control && e.KeyCode == Keys.A)
{
Controls.Clear();
Controls.Add(ChildA);
}
if (e.Control && e.KeyCode == Keys.B)
{
Controls.Clear();
Controls.Add(ChildB);
}
if (e.Control && e.KeyCode == Keys.C)
{
Controls.Clear();
Controls.Add(ChildC);
}
}
}
【问题讨论】:
标签: c# winforms events parent-child keystroke