winform获得焦点和失去焦点的问题

又被套路了 2017-02-21 06:56:18
自定义一个控件,怎么做能锁定焦点?
这个自定义控件中有一个textbox,当这个textbox为空的时候,整个页面的焦点固定在这个控件上,不能让其他控件进入编辑状态,但是可以点击按钮,怎么实现?
...全文
304 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
PaulyJiang 2017-02-23

    this.textBox1.Validating += new System.ComponentModel.CancelEventHandler(this.textBox1_Validating);
    private void textBox1_Validating(object sender, CancelEventArgs e)
        {
            if (string.IsNullOrEmpty(textBox1.Text))
            {
                e.Cancel = true;
            }
        }
回复
moonchnn 2017-02-21

this.textBox1.Leave += new System.EventHandler(this.textBox1_Leave);
        private void textBox1_Leave(object sender, EventArgs e)
        {
            if (button1.Focused)
                return;
            if (textBox1.Text == "")
                textBox1.Focus();
        }
回复
moonchnn 2017-02-21

this.textBox1.Leave += new System.EventHandler(this.textBox1_Leave);

        private void textBox1_Leave(object sender, EventArgs e)
        {
            if (textBox1.Text == "")
                textBox1.Focus();
        }
回复
水哥阿乐 2017-02-21
textbox1.Focus 至于怎么去判断是否为空,你可以结合定时器持续检测你的textbox1,发现为空自动移动焦点,不为空将.Focus赋值为flase
回复
天令 2017-02-21
让其他控件都不能编辑,那直接灰化不行嘛
回复
又被套路了 2017-02-21
引用 1 楼 xchchen 的回复:
在控件初始化的时候设置焦点,然后在textbox的值变化事件中,判定时候为空然后设置焦点!
进入页面后焦点是在这个控件上,但是可以直接点击其他控件进行输入啊,我要的是其他控件都不能点击进行输入
回复
MickeyXcH 2017-02-21
在控件初始化的时候设置焦点,然后在textbox的值变化事件中,判定时候为空然后设置焦点!
回复
相关推荐
发帖
C#
创建于2007-09-28

10.6w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2017-02-21 06:56
社区公告

让您成为最强悍的C#开发者