winform(C#)解决顶级窗体文本框部分选中、部分删除、部分文本内容替换问题
作者:ldx
日期:2014-05-16
备注: 问题解决备忘记录
MDI容器嵌入子窗体方法:
textbox控件边框设置第一步:
          //这里是清空panel2中的控件的。
            this.splitContainer1.Panel2.Controls.Clear();
            rcglMain rm = new rcglMain();
            //设置子窗体为非顶级窗体
            rm.TopLevel = false;
            rm.Parent = this.splitContainer1.Panel2;
        //这句解决顶级窗体中文本框不能选中部分文本内容问题,即设置子窗体无边框
            rm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
            rm.Show(); 
第二步:
    添加一个事件:
备注:这里可以写个所有文本框事件。本人只举一个例子说明该问题的解决方法://((TextBox)sender).HideSelection = true;  重写该事件即可。
  private void textBox1_KeyDown(object sender, KeyEventArgs e)
        {
         
            if (e.Modifiers == Keys.Control && e.KeyCode == Keys.A)
            {
                ((TextBox)sender).SelectAll(); //全选功能
            }
            else
            {
                //解决顶级窗体部分选中事件删除或者替换内容问题
                ((TextBox)sender).HideSelection = true;
            } 
            //((TextBox)sender).HideSelection = true;
        }
实际就这两句代码:
//这句解决顶级窗体中文本框不能选中部分文本内容问题,即设置子窗体无边框
            rm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
((TextBox)sender).HideSelection = true;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。