C#中FOCUS无法让指定的空间获取焦点

来源:互联网 发布:人口普查数据 编辑:程序博客网 时间:2024/06/05 14:57

今天在写一个父窗体弹出子窗体的时候,想让子窗体中做一个判断,如果子窗体TEXTBOX1从父窗体获取了值,那就让焦点定在子窗体的textbox2中,如果textbox1没有获得父窗体传来的值就让焦点定位到textbox1控件中,用到了focus,但是一开始发现无论怎样,focus都只定位到了textbox1上,而没有根据条件变化定位到textbox2中,后来看到别人说是需要再load中先让show一下子窗体。修改后果然正常,把两段代码贴出来对比下。

        private void MMXG_Load(object sender, EventArgs e)        {                                T_CARDNUM.Text = cardnumber;                if (T_CARDNUM.Text !="")                {                    T_CARDMM.Focus();                }                 else                {                    T_CARDNUM.Focus();                }                   }


 

下面是修改后的

        private void MMXG_Load(object sender, EventArgs e)        {                this.Show();//就少了这么一句                T_CARDNUM.Text = cardnumber;                if (T_CARDNUM.Text !="")                {                    T_CARDMM.Focus();                }                 else                {                    T_CARDNUM.Focus();                }                   }


 

0 0