在C#中的Windows窗体应用程序中,我有许多TextBox
个控件,所有这些控件都附加了相同的ToolTip
控件/消息。没有任何自定义,ToolTip
工作得很好。
现在,我使用Change winform ToolTip backcolor中选为最佳答案的代码段,将BackColor
添加到ToolTip
个气球中。这对于向BackColor
气球添加ToolTip
非常有用,但它以某种方式删除了字符串消息中的所有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
,其中我放大了气球尺寸,但它没有解决我的问题。