加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

.net – 帮助设置焦点在父节点上

发布时间:2020-12-17 07:29:48 所属栏目:百科 来源:网络整理
导读:我有一个简单的情况(.NET2):UserControl1(或Form1)上的texbox1. 当我点击usercontrol / form时,我想要取消聚焦(离开)texbox(改为聚焦usercontrol / form): alt text http://lh3.ggpht.com/_1TPOP7DzY1E/S0R1ORVt-pI/AAAAAAAAC3Y/UkS2zEMWa9o/s800/Capture4
我有一个简单的情况(.NET2):UserControl1(或Form1)上的texbox1.

当我点击usercontrol / form时,我想要取消聚焦(离开)texbox(改为聚焦usercontrol / form):
alt text http://lh3.ggpht.com/_1TPOP7DzY1E/S0R1ORVt-pI/AAAAAAAAC3Y/UkS2zEMWa9o/s800/Capture4.png

我在UC /表格上执行以下操作:

Protected Overrides Sub OnMouseClick _
          (ByVal e As System.Windows.Forms.MouseEventArgs)
        MyBase.OnMouseClick(e)
        Me.Focus()
      End Sub

为什么它不适用于子文本框,但在非子文本框上工作得很好(关注textBox2然后单击面板会从textBox2中删除焦点)?

真实的项目窗口

alt text http://lh5.ggpht.com/_1TPOP7DzY1E/S0SVniaeN1I/AAAAAAAAC3g/jafhFG-vA0g/s800/Capture5.png

解决方法

>在表单中添加一个新的面板控件(在某处),并将其调整为0,0
>请勿在此面板上设置Visible = false.
>在表单中添加标准MouseClick事件处理程序,如下所示:

private void Form1_MouseClick(object sender,MouseEventArgs e)
{
    // Uncomment if in scrollable control
    //Point scrollPos = new Point(this.AutoScrollPosition.X,-this.AutoScrollPosition.Y);
    newPanel.Select(); 
    // Uncomment if in scrollable control
    //this.AutoScrollPosition = scrollPos;

}

>现在,当您单击主窗体上的任何位置时,任何输入控件都将失去焦点,您将能够处理通常的验证事件等.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读