日期:2014-05-18  浏览次数:21295 次

vs.net中的textbox控件,在鼠标 按下光标总是最前面,无法地位到想要的位置
我的程序里对textBox写了其他的事件,也不知道是不是导致该问题的原因.无论如何,该如何解决,请大家指教,谢谢.

------解决方案--------------------
你写了什么事件的代码,贴出来看看才能知道问题原因呀。


------解决方案--------------------
如果是在空的textbox中的话好像没有看到过能定位到指定的位置的实例,如果是在有字符串的textbox中的话,不能定位到指定位置的话应该是你写了鼠标点击事件或者让写了textbox重新fouce()方法
------解决方案--------------------
编号一个方法? 
我们正常的做法是让 panel 中所有的 textBox 控件都订阅 同一个MouseClick 的事件.
代码如下:
C# code
/// <summary>
        /// 窗体加载事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Form1_Load(object sender, EventArgs e)
        {
            foreach (object obj in panel1.Controls)
            {
                if (obj is TextBox)
                {
                    ((TextBox)obj).MouseClick += new MouseEventHandler(TextBox_MouseClick);        //给panel1控件中每个文本框订阅 Enter 事件
                }
            }
        }

        /// <summary>
        /// 文本框的鼠标单击事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void TextBox_MouseClick(object sender, MouseEventArgs e)
        {
            ((TextBox)sender).SelectionStart = ((TextBox)sender).Text.Length;
        }