C#のWindowsフォームアプリケーションでは、多くのTextBox
コントロールがあります。これらのコントロールには、すべて同じコントロール/メッセージが添付されています。カスタマイズすることなく、ToolTip
は完全に動作していました。カスタマイズされたツールヒントが正しく機能していない
今、私はChange winform ToolTip backcolorで最高の答えとして選択されたコードスニペットを使用してToolTip
風船にBackColor
を追加しました。これはToolTip
バルーンにBackColor
を追加するのには効果的ですが、文字列メッセージの中で何とかすべてEnvironment.NewLine
を削除しました。しかし、それは同じ大きさの気球を見せているようです。
なぜこれが起こっている、そしてどのようにこの問題を解決するために、誰かが私に言うことはできますか?
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]);
}
}
は、私は、バルーンのサイズを拡大する
PopupEventHandler
をサブスクライブしようとしたが、それは私の問題を解決していませんでした。
デフォルトのe.DrawText()実装が気に入らないだけです。 TextFormatFlags.SingleLineを使用します。見た目を良くするためにあなた自身で書く必要があります。 –