C# 带滚动条的Label控件

来源:互联网 发布:网络用语af是什么意思 编辑:程序博客网 时间:2024/06/10 16:42

C# 带滚动条的Label控件,用鼠标选的时候还是有点闪烁:

namespace 带滚动条的Label控件{    public class TextBoxLabel : System.Windows.Forms.TextBox    {        [DllImport("user32", EntryPoint = "HideCaret")]        private static extern bool HideCaret(IntPtr hWnd);        [DllImport("user32", EntryPoint = "ShowCaret")]        private static extern bool ShowCaret(IntPtr hWnd);        public TextBoxLabel():base(){            this.TabStop = false;            this.SetStyle(ControlStyles.Selectable, false);            this.Cursor = Cursors.Default;            this.ReadOnly = true;            this.ShortcutsEnabled = false;            this.HideSelection = true;            this.GotFocus += new EventHandler(TextBoxLabel_GotFocus);            this.MouseMove += new MouseEventHandler(TextBoxLabel_MouseMove);        }        private void TextBoxLabel_GotFocus(Object sender, System.EventArgs e){            if (ShowCaret(((TextBox)sender).Handle)){                HideCaret(((TextBox)sender).Handle);            }        }        private void TextBoxLabel_MouseMove(Object sender, MouseEventArgs e){            if (((TextBox)sender).SelectedText.Length > 0){                ((TextBox)sender).SelectionLength = 0;            }        }    }}

效果:



实现思路及用途参考:http://bbs.csdn.net/topics/390632325?page=1#post-398542672


1 0
原创粉丝点击