在运行时,我创建了一个所有者绘制工具提示,在弹出事件中设置我的工具提示窗口的大小,并在绘制事件中设置文本。
public void NewLabel(string aText)
{
ToolTip tt = new ToolTip();
tt.Popup += new PopupEventHandler(tt_Popup);
tt.Draw += new DrawToolTipEventHandler(tt_Draw);
tt.BackColor = Color.White;
tt.AutomaticDelay = 100;
tt.AutoPopDelay = 35000;
tt.IsBalloon = false;
tt.OwnerDraw = true;
tt.SetToolTip(aLabel, sToolTip);
}
public void tt_Popup(object sender, PopupEventArgs e)
{
e.ToolTipSize = new Size(e.ToolTipSize.Width + 300, e.ToolTipSize.Height + 200);
}
public void tt_Draw(object sender, DrawToolTipEventArgs e)
{
e.DrawBackground();
e.DrawBorder();
}
这很好用,但问题是,如果我的工具提示绘制事件是由屏幕底部的控件触发的,则工具提示不会像标准工具提示那样自动设置在可视区域中。
任何想法?