gpt4 book ai didi

c# - 如何使控件失去焦点单击它之外的任何地方?

转载 作者:行者123 更新时间:2023-12-04 02:28:30 25 4
gpt4 key购买 nike

enter image description here
我希望我的 UserControl(在图像的中间顶部)在我点击它之外的任何地方时失去焦点。
我试过这个:

private void Form1_Click(object sender, EventArgs e)
{
ActiveControl = null;
}
它仅在我单击 Form 本身、TrackBar 和 MediaPlayer 时才有效。当我单击其他控件,甚至 FlowLayoutPanel 时,它不起作用。
我该怎么办?

最佳答案

埃里克,
要从自定义控件中的项目中移除焦点,您需要一些其他可聚焦控件来传递焦点。我会做这样的事情:

private void StealFocus() => lbl_SomeLabel.Focus();
然后下降 StealFocus()在表单的点击事件处理程序中:
private void Form1_Click(object sender, EventArgs e) => StealFocus();
以及用户可能单击的任何其他不执行命令的控件。
请注意,您不能将焦点设置到表单上。像 Form 和 Panel 这样的容器控件会将 Focus 传递给它们的第一个子控件。这可能是您想要从中移除焦点的自定义控件。

关于c# - 如何使控件失去焦点单击它之外的任何地方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65711825/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com