通过将焦点设置到子窗体中的控件来隐藏焦点控件

Posted

技术标签:

【中文标题】通过将焦点设置到子窗体中的控件来隐藏焦点控件【英文标题】:Hiding a focused control by setting focus to a control in a subform 【发布时间】:2014-12-13 21:34:44 【问题描述】:

我想隐藏一个子表单 (frmValueChain10),方法是单击位于其上的按钮并打开另一个(位于另一个子表单中的框架,frmValueChain02 在同一父表单中)。当我尝试这样做时,我收到消息“您无法隐藏具有活动状态的控件”。可以这样做吗?

当前代码:

Form_frmValueChain02.Frame251.SetFocus

【问题讨论】:

对不起,错误信息是我无法隐藏状态为活动的控件。基本上,我在一个选项卡控件上。单击我嵌入其中的按钮后,我想隐藏该选项卡并打开另一个 我所做的是将焦点设置在另一个子窗体(在本例中为 frmValueChain)上的控件上,但它仍然给出错误 Form_frmValueChain02.Frame251.SetFocus 【参考方案1】:

将焦点设置到子窗体中的控件只会更改该子窗体中的焦点。相反,您需要在包含您要隐藏的控件的任何窗体上设置不同的控件。假设Form_frmValueChain02 是子窗体控件:

Form_frmValueChain02.SetFocus
Form_frmValueChain02.Frame251.SetFocus
frmValueChain10.Visible = False

【讨论】:

但我需要整个表单 frmValueChain10 完全消失。是否有可能触发事件的按钮(控件)位于同一表单上?

以上是关于通过将焦点设置到子窗体中的控件来隐藏焦点控件的主要内容,如果未能解决你的问题,请参考以下文章

C#窗体及控件的快捷键 设置

C# 上下左右键 切换控件焦点

VB 如何用上下键切换控件焦点

为啥子窗体在 Access 2016 中获得焦点?

C# Winform 控件或窗体失去焦点时,获取键盘输入数据(我用winform获取另一个窗口的数据)

excel VBA窗体按钮控件设置enter事件后,为啥会在启动窗体时,自动enter一次?