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

又被套路了 2017-02-21 06:56:18
自定义一个控件,怎么做能锁定焦点?
这个自定义控件中有一个textbox,当这个textbox为空的时候,整个页面的焦点固定在这个控件上,不能让其他控件进入编辑状态,但是可以点击按钮,怎么实现?
...全文
702 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
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的值变化事件中,判定时候为空然后设置焦点!

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

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

试试用AI创作助手写篇文章吧