我之前问过一个与此相关的问题:替代通知用户错误的方法
简而言之,我试图找到一种快速简便的方法,在不使用弹出窗口的情况下通知用户错误。
现在我已经使用工具提示气球实现了这一点。问题是,即使我给它一个常规位置,气泡的小尖部分也会根据消息大小而改变位置(见附加的图片)。通常,我会使用SetToolTip()将其分配给控件,以便它始终指向该控件。但是该控件是状态栏中的标签或图像。
private void ShowTooltipBalloon(string title, string msg)
{
if (this.InvokeRequired)
{
this.BeginInvoke(new EventHandler(delegate { ShowTooltipBalloon(title,msg); }));
}
else
{
ToolTip tt = new ToolTip();
tt.IsBalloon = true;
tt.ToolTipIcon = ToolTipIcon.Warning;
tt.ShowAlways = true;
tt.BackColor = Color.FromArgb(0xFF, 0xFF, 0x90);
tt.ToolTipTitle = title;
int x = this.Width - lblLeftTarget.Width - lblVersion.Width - toolStripStatusLabel8.Width - 10;
int y = this.Height - lblLeftConnectImg.Height - 60;
tt.Show(msg, this, x, y, 5000);
}
}
这超出了需求范围,但我的老板非常注重细节,所以除了解决这个问题,我还要快速解决它。我需要一个相对容易实现的东西,不会“动摇”当前即将发布的软件。话虽如此,当然我会听取任何建议,无论是否可行。至少我可能会学到一些东西。*编辑:看起来我的图片没有显示。我不知道是不是只有我的电脑有这个问题。哦,算了...