我有一个包含控件和相关工具提示的表单。我正在实现一个帮助按钮,它应该立即显示所有工具提示。
我想以某种方式实现它:
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。它看起来很有效。但坐标并不精确。
现在最大的问题是 - 如何立即删除所有这些工具提示?
答案 0 :(得分:1)
foreach(Control c in Form.Controls)
{
string s = Tooltip.GetTooltip(c);
c.ShowTooltip(s,this);
}