I Gavin Stevens Code geändert, um es wie so alle statischen zu machen:
class ToolTipHelper
{
private static readonly Dictionary<string, ToolTip> tooltips = new Dictionary<string, ToolTip>();
public static ToolTip GetControlToolTip(string controlName)
{
<same as above>
}
}
Jetzt nicht mehr Sie ToolTipHelper instanziiert müssen (daher hat es keine Notwendigkeit für Konstruktor), und so können Sie jetzt auf diese von jeder Klasse wie folgt zugreifen:
ToolTip tt = ToolTipHelper.GetControlToolTip("button1");
tt.SetToolTip(button1, "This is my button1 tooltip");
In beiden Versionen kann auch eine QuickInfo ein- und ausgeschaltet werden, Sie können einfach tt.Active
true oder false setzen.
bearbeiten
Weitere dazu verbessert:
class ToolTipHelper
{
private static readonly Dictionary<string, ToolTip> tooltips = new Dictionary<string, ToolTip>();
public static ToolTip GetControlToolTip(string controlName)
{
<same as above still>
}
public static ToolTip GetControlToolTip(Control control)
{
return GetControlToolTip(control.Name);
}
public static void SetToolTip(Control control, string text)
{
ToolTip tt = GetControlToolTip(control);
tt.SetToolTip(control, text);
}
}
So, jetzt ist es, eine Quick-Info von überall in der Programmeinstellung nur eine Zeile:
ToolTipHelper.SetToolTip(button1, "This is my button1 tooltip");
Wenn Sie don‘ Sie brauchen Zugang zu den alten Funktionen, Sie könnten sie kombinieren und/oder sie privat machen, so dass die SetToolTip()
die einzige ist, die Sie uns jemals geben würden e.
Ah, so sollte ich nur noch eine Instanz der Klasse Variable stattdessen ein Quick-Info-Objekt zu halten, und es wieder verwenden, wenn es geändert werden muss. Vielen Dank. – benmatth