2008-09-12 10 views
10

Ich habe ein Menü, das unter anderem einige der zuletzt verwendeten Dateipfade enthält. Die Pfade zu diesen Dateien können lang sein, daher wird der Text manchmal abgeschnitten wie "C: \ Progra ... \ foo.txt"Zeigt einen Tooltip für ein MenuItem

Ich möchte eine QuickInfo mit dem vollständigen Pfad anzeigen, wenn der Benutzer den Mauszeiger darüber bewegt das Element, aber dies scheint nicht möglich mit der Klasse Tooltip in .NET 2.0.

Fehle ich etwas offensichtlich?

Antwort

17

Wenn Sie Ihre Menüelemente mit der System.Windows.Forms.MenuItem Klasse erstellen, haben Sie keine "ToolTipText" -Eigenschaft.

Sie sollten die Klasse System.Windows.Forms.ToolStripMenuItem verwenden, die ab .Net Framework 2.0 neu ist und die Eigenschaft "ToolTipText" enthält.

Sie müssen auch daran denken, ShowItemToolTips angeben = True auf der Menustrip Steuer

+0

Dies war eine alte Anwendung, die von .NET 1.1 aktualisiert wurde und ein MainMenu mit MenuItems verwendete. Ich habe die MenuStrip-Klasse bisher noch nie gesehen. Vielen Dank! –

+0

Ich sehe nicht, wie das funktioniert ... Ich habe ein benutzerdefiniertes Formular mit einer ToolTip-Klasse und alle Steuerelemente, die ich dem Formular mit dem Design-Bildschirm hinzufüge, funktionieren gut. Die benutzerdefinierte Klasse, die ich geschrieben habe (die einen StatusStrip erbt) und ihre untergeordneten Steuerelemente funktionieren nicht. Ich kann dem ToolTipText meiner ToolStripLabel-Objekte einen Wert zuweisen, aber die QuickInfo wird nie angezeigt. Ich habe versucht, das ToolStripLabel an die QuickInfo zu binden, wie ein anderes Poster vorgeschlagen hat, aber tooltip.SetToolTip() akzeptiert keine ToolStrip-Steuerelemente; Es akzeptiert nur Kontrollelemente, deren ToolStrip-Elemente * nicht * sind. –

+0

@Tinkerer_CardTracker Die Frage lautete, ob ein Tooltip für einen Menüeintrag angezeigt werden soll. Es klingt, als wäre dein Problem komplett anders. Sie erhalten möglicherweise eine bessere Antwort, indem Sie eine neue Frage erstellen. –

-2

Vielleicht haben Sie vergessen, den Tooltip mit dem Steuerelement zu verknüpfen, das SetToolTip verwendet.

+0

'SetToolTip' eine' MenuItem' nicht akzeptiert. – Otiel

1

Möglicherweise habe ich das Problem falsch verstanden, aber warum müssen Sie die Klasse Tooltip verwenden? Sie können Ihren Text der ToolTipText-Eigenschaft zuweisen und er wird dem Benutzer angezeigt.

+0

Ich denke, es ist die ToolTip-Eigenschaft. – jfs

+0

Die Steuerelementklasse hat keine QuickInfo-Eigenschaft. Es hat ToolTipText – aku

+0

Hoppla, ich sehe mir eine andere MenuItem-Klasse an. – jfs

0

Tooltip gesetzt wird manuell durch:

testToolStripMenuItem2.ToolTipText = "My tooltip text"; 

Das MenuItem kann beispielsweise ein Teil dieser Menü Konstellation: eine Menüleiste mit einem Menüpunkt und einem Untermenüpunkt. (Dieser Sanitär-Code wird automatisch für Sie in der Code-behind Designer-Datei generiert, wenn Sie Visual Studio verwenden)

MenuStrip menuStrip1;  
ToolStripMenuItem testToolStripMenuItem; // Menu item on menu bar 
menuStrip1.Items.Add(testToolStripMenuItem); 

ToolStripMenuItem testToolStripMenuItem2; // Sub menu item 
testToolStripMenuItem.DropDownItems.Add(testToolStripMenuItem2) 
0

Auf dem Menustrip gesetzt ShowItemToolTips = True Auf der ToolStripMenuItem stellen Sie Ihren ToolTipText

yourMenusTrip.ShowItemToolTips =true; 
yourToolStripMenuItem.ToolTipText="txt"; 
Verwandte Themen