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; } } } }
效果:
以上就是C# 带滚动条的Label控件的示例代码详解的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号