我正在开发这个小型 WinForm 应用程序,并决定使用带有半透明背景的自定义绘制工具提示。因此,我开始将OwnerDrawToolTip 上的属性设置为,为和事件True创建事件处理程序(请参阅下面的示例代码。注释版本也不起作用)。DrawPopup
private void toolTip_Popup(object sender, PopupEventArgs e)
{
e.ToolTipSize = new Size(400, 400);
}
private void toolTip_Draw(object sender, DrawToolTipEventArgs e)
{
//e.Graphics.FillRectangle(new SolidBrush(Color.FromArgb(120, Color.Red)), new Rectangle(e.Bounds.Location, e.Bounds.Size));
e.Graphics.FillRectangle(new SolidBrush(Color.FromArgb(120, Color.Red)), new Rectangle(0, 0, 400, 400));
}
Run Code Online (Sandbox Code Playgroud)
现在,当第一次显示特定控件的工具提示时,一切都会按预期进行。请参见下图(400x400 工具提示,半透明红色背景)。
但是,当我第二次将鼠标悬停在同一控件上时,工具提示会失去半透明度。参见下图。为什么会这样?