У меня есть форма с элементами управления и соответствующими подсказками. Я реализую кнопку помощи, которая должна показывать все подсказки одновременно.
Я хотел бы реализовать это как-то так:
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. похоже, работает. Но координаты не точны.
Большой вопрос сейчас - как удалить все эти всплывающие подсказки одновременно?