WM_SETFOCUS
메시지를 RichTextBox
으로 처리하고 WM_KILLFOCUS
으로 바꿀 수 있습니다.
코드 아래에 에 Selectable
속성을 추가했습니다. false
으로 설정하면 선택 강조 표시가 렌더링되지 않습니다. 그것은 컨트롤이 읽기 전용으로하지 않습니다 당신이해야 할 경우 읽기 전용, 당신은 또한 true
에 ReadOnly
속성을 설정해야하고 그 BackColor
White
에 :
public class ExRichTextBox : RichTextBox
{
public ExRichTextBox()
{
Selectable = true;
}
const int WM_SETFOCUS = 0x0007;
const int WM_KILLFOCUS = 0x0008;
[DefaultValue(true)]
public bool Selectable { get; set; }
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_SETFOCUS && !Selectable)
m.Msg = WM_KILLFOCUS;
base.WndProc(ref m);
}
}
당신은 TextBox
제어를 위해 동일한 작업을 수행 할 수 있습니다 .
[Visual Studio에서 하이라이트 색상을 찾아 교체하십시오] (http://stackoverflow.com/questions/7192536/visual-studio-find-and-replace-highlight-color) – active92
감사합니다. richtextbox – wong
에 대해 어떻게해야합니까? http://stackoverflow.com/questions/11183599/rich-text-box-how-to-highlight-text-block – active92