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号