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# 레이블 컨트롤의 샘플 코드에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!