2
我有一个包含控件和相关工具提示的表单。我正在实施一个帮助按钮,它应该一次显示所有的工具提示。如何显示已经与控件关联的所有工具提示
我想以某种方式实现它是这样的:
private void btnHelp_Click(object sender, EventArgs e)
{
System.Windows.Forms.Control.All.Show.Their.Tooltips();
}
无法找到一个简单的方法来做到这一点:-)
我想用ToolTip.Show(),但它的不仅需要控件,还需要工具提示文本 - 但我不想再次编写它(因为必要的工具提示已分配到控件的属性中)。
UPD。 我开始使用此功能实现它:
public void ShowControlsTooltip(System.Windows.Forms.Control c)
{
ttsToolTips.Show(ttsToolTips.GetToolTip(c), c, c.Location.X, c.Location.Y);
}
但我不能让它显示多个工具提示在同一时间。
UPD2。 现在我有这种代码,但所有的工具提示仍然闪烁并消失。
public void ShowControlsTooltip(System.Windows.Forms.Control c)
{
ToolTip t = new ToolTip();
//t = ttsToolTips;
t.Show(ttsToolTips.GetToolTip(c), c, c.Location.X, c.Location.Y, 1000);
}
private void btnHelp_Click(object sender, EventArgs e)
{
foreach (Control c in this.Controls)
{
try
{
ShowControlsTooltip(c);
}
catch
{
}
}
}
与ttsToolTips的事情是,我把所有的工具提示协会已经存在。
UPD3。它看起来像作品。但坐标不准确。
现在最大的问题是 - 如何一次删除所有这些工具提示?
好点 - 我刚刚尝试过,但所有工具提示都会闪烁一次,并因某些原因而消失。它看起来不是一次只能有多一个呢?! – Halst 2010-08-18 11:53:26
当你点击alt键时,你希望这看起来类似于Office,对吗? – XstreamINsanity 2010-08-18 11:55:01
尝试为每个控件创建不同的Tooltip对象。 – 2010-08-18 11:55:03