PictureBox-Tooltip zum Ändern von C#

PictureBox-Tooltip zum Ändern von C#

Fügen Sie Ihrer Picturebox mit dem folgenden Code ein Hover-Ereignis hinzu.

private void pictureBox1_MouseHover(object sender, EventArgs e)
{
    ToolTip tt = new ToolTip();
    tt.SetToolTip(this.pictureBox1, "Your username");
}

Joes Antwort erledigt zwar die Arbeit, ist aber ineffizient. Der Code erstellt einen neuen ToolTip jedes Mal die PictureBox überschwebt wird. Wenn Sie den SetToolTip() verwenden -Methode verknüpft sie den erstellten ToolTip mit dem angegebenen Steuerelement und behält den ToolTip in Erinnerung. Sie müssen diese Methode nur einmal aufrufen. Ich schlage vor, Sie erstellen nur einen ToolTip für jeden PictureBox in Ihrem Formularkonstruktor. Ich habe dies getestet und es funktioniert gut, und die Tooltips werden für mich schneller angezeigt:

public MyForm()
{
    InitializeComponent();

    // The ToolTip for the PictureBox.
    new ToolTip().SetToolTip(pictureBox1, "The desired tool-tip text.");
}

Brandon-Millers Antwort ist in Ordnung, außer dafür, dass er vorschlägt, pro PictureBox einen Tooltip zu erstellen. Dies ist immer noch uneffektiv, aber besser als Joes Ansatz - weil Sie eigentlich nicht mehr als ein Tooltip-Objekt für das gesamte Formular benötigen! Es kann Tausende von "Tooltip-Definitionen" (wahrscheinlich kein eigentlicher Begriff) für verschiedene Steuerelemente (Kleinigkeiten auf den Formularen) erstellen. Deshalb definieren Sie das Steuerelement als ersten Parameter, wenn Sie den Tooltip erstellen oder festlegen.

Der richtige (oder zumindest der am wenigsten verschwenderische) Ansatz besteht meines Wissens darin, EIN Tooltip-Objekt pro Formular zu erstellen und verwenden Sie dann den SetTooltip Funktion zum Erstellen von 'Definitionen' für verschiedene Steuerelemente.

Beispiel:

private ToolTip helperTip;
public MyForm()
{
    InitializeComponent();

    // The ToolTip initialization. Do this only once.
    helperTip = new ToolTip(pictureBox1, "Tooltip text");
    // Now you can create other 'definitions', still using the same tooltip! 
    helperTip.SetToolTip(loginTextBox, "Login textbox tooltip");
}

Oder, etwas anders, mit vorheriger Initialisierung:

// Instantiate a new ToolTip object. You only need one of these! And if
// you've added it through the designer (and renamed it there), 
// you don't even need to do this declaration and creation bit!
private ToolTip helperTip = new ToolTip();
public MyForm()
{
    InitializeComponent();

    // The ToolTip setting. You can do this as many times as you want
    helperTip.SetToolTip(pictureBox1, "Tooltip text");
    // Now you can create other 'definitions', still using the same tooltip! 
    helperTip.SetToolTip(loginTextBox, "Login textbox tooltip");
}

Wenn Sie den ToolTip im Formulardesigner hinzugefügt haben, können Sie die Deklaration am Anfang weglassen. Sie müssen es nicht einmal initialisieren (soweit ich weiß, sollte dies durch den vom Designer generierten Code erfolgen), verwenden Sie einfach das SetToolTip, um neue Tooltips für verschiedene Steuerelemente zu erstellen.