RTFBox

13/11/2009 - 00:00 von martina gerling | Report spam
Hallo,

weiß jemand von euch, ob man die Einfügemarke bei der RichTextBox
ausblenden kann? Ich habe eine RTFBox als ReadOnly=true gesetzt, aber
trotzdem wird die Einfügemarke blinkend eingefügt.

Gruß

Martina
 

Lesen sie die antworten

#1 Frank Dzaebel
13/11/2009 - 08:06 | Warnen spam
Hallo Martina,

weiß jemand von euch, ob man die Einfügemarke bei der RichTextBox
ausblenden kann? Ich habe eine RTFBox als ReadOnly=true gesetzt, aber
trotzdem wird die Einfügemarke blinkend eingefügt.



Zum Beispiel über Enabled = false; aber das hat auch Nachteile,
denn es werden dann zum Beispiel viele Events nicht mehr verarbeitet.
Du kannst es aber auch direkt über HideCaret hinbekommen
(BTW: ggf. die TabStop-Eigenschaft auf false setzen) :

[DllImport("user32.dll")]
static extern bool HideCaret(IntPtr hWnd);

private void button1_Click(object sender, EventArgs e)
{
HideCaret(richTextBox1.Handle);
}

Es kommt ein wenig darauf an, was dann das
weitere gewünschte Verhalten ist, denn ansonsten
würde ich ggf. zum Beispiel bei jedem TextChanged
HideCaret aufrufen. Es könnte aber auch gewollt sein,
dass man bei einem Click das Caret wieder sehen soll,
um bspw. etwas herauszukopiren. Gut, ich denke,
die Hilfsmittel für diese Dinge sind jetzt genannt.

[Using Carets]
http://msdn.microsoft.com/en-us/library/ms648398(VS.85).aspx


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen