怎么能理解哪个控件已经集中了?

Far*_*rna 2 c# focus panel winforms

我有许多控件,我在运行时,我在表单上的面板中找到它们,现在我想删除用户选择的每个控件,我怎么能理解哪个控件已经集中?谢谢 .

Kyr*_*o M 5

通常,如果您使用WPF或Form.ActiveControl for WinForms ,则需要FocusManager.GetFocusedElement.

对于面板,它将是:

if (panel.ContainsFocus)
{
    Control currentlyFocused =
        panel.Controls.Cast<Control>().FirstOrDefault(control => control.Focused);
}
Run Code Online (Sandbox Code Playgroud)