In meiner Windows-Formularanwendung in C# habe ich viele TextBox
Steuerelemente, die alle die gleiche ToolTip
Steuerelement/Nachricht an sie angeschlossen haben. Ohne jegliche Anpassung funktionierte die ToolTip
perfekt.Angepasste ToolTip funktioniert nicht richtig
Nun habe ich BackColor
die ToolTip
Ballons den Code-Schnipsel als die beste Antwort in Change winform ToolTip backcolor ausgewählt werden. Das funktioniert gut, um eine BackColor
zu dem ToolTip
Ballon hinzuzufügen, aber es entfernte irgendwie alle Environment.NewLine
in der Zeichenfolgennachricht. Es scheint jedoch, dass der Ballon die gleiche Größe zeigt.
Kann mir jemand sagen, warum dies geschieht und wie dieses Problem beheben?
private ToolTip _tt = new ToolTip();
private string _ttipText;
private void ToolTipCustomization(){
string nl = Environment.NewLine;
/* This text is not shown properly when BackColor is added */
_ttipText = "The value must be: " + nl +
"1, Numeric " + nl +
"2, Between 0 and 1000" + nl +
"3, A multiple of 10";
_tt.OwnerDraw = true;
_tt.BackColor = Color.LightBlue;
_tt.Draw += new DrawToolTipEventHandler(TT_Draw);
}
private void TT_Draw(object sender, DrawToolTipEventArgs e){
e.DrawBackground();
e.DrawBorder();
e.DrawText();
}
//Adding TextBox controls programmatically
private Textbox[] tbx = new TextBox[20];
private void CreateTextBox(){
for(int i=0; i<20; i++){
tbx[i] = new TextBox();
/* More TextBox properties for design (Omit) */
_tt.SetToolTip(tbx[i], _ttipText); //Set ToolTip text to tbx here
this.Controls.Add(tbx[i]);
}
}
Ich versuchte PopupEventHandler
, in dem Abonnement ich die Ballongröße vergrößert, aber es hat nicht mein Problem zu lösen.
Sie mögen einfach nicht die Standard e.DrawText() - Implementierung. Es verwendet TextFormatFlags.SingleLine. Sie müssen Ihre eigenen schreiben, damit es besser aussieht. –