| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: DropdownMenueItems zur Laufzeit (1508 mal gelesen)
|
Theo37 Mitglied Techniker
Beiträge: 423 Registriert: 08.10.2008
|
erstellt am: 30. Jan. 2012 15:58 <-- editieren / zitieren --> Unities abgeben:
Hallo an die Programmier-Profis, ich möchte Dropdownmenuitems zur Laufzeit erstellen. Also im Programmtext. Wie kann ich da das Clickereigniss festlegen? Kann ich einen vorhandenen Dropdownmenuitem kopieren? Weiß jemand ein (einfaches)Beispiel. Unten ein paar Zeilen die ich schon geschrieben habe aber natürlich nicht funktioniern. Danke für jeden Tip. Gruß Theo If Len(TextBox1.Text) = 5 Then Dim Mymenue As ToolStripMenuItem Dim Myzeile As ToolStripDropDownItem Dim Myzeileorg As ToolStripDropDownItem Mymenue = MenuStrip1.Items(0) Myzeileorg = Mymenue.DropDownItems(0) For i = 0 To 10 Myzeile = copy Myzeileorg 'ab hier gehts nicht mehr Myzeile.text= = i.ToString Mymenue.DropDownItems.add Myzeile Next i MenuStrip1.Visible = True End If End Sub Private Sub ToolStripMenuItem3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem3.Click MsgBox(sender.text) End Sub Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4171 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 30. Jan. 2012 16:13 <-- editieren / zitieren --> Unities abgeben: Nur für Theo37
|
Theo37 Mitglied Techniker
Beiträge: 423 Registriert: 08.10.2008
|
erstellt am: 30. Jan. 2012 16:20 <-- editieren / zitieren --> Unities abgeben:
Hallo Holger, also dann nichts mit Kopieren, sondern jeden Dropdowneintrag neu erstellen. Könntest Du mir trotzdem mal grob schreiben was in der Schleife zum Erstellen stehen muß. Ich hab nämlich schon in dieser Richtung experiementiert und habs nicht geschafft. Danke Theo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4171 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 30. Jan. 2012 16:24 <-- editieren / zitieren --> Unities abgeben: Nur für Theo37
|
Theo37 Mitglied Techniker
Beiträge: 423 Registriert: 08.10.2008
|
erstellt am: 30. Jan. 2012 16:28 <-- editieren / zitieren --> Unities abgeben:
|
Brischke Moderator CAD on demand GmbH
Beiträge: 4171 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 30. Jan. 2012 16:45 <-- editieren / zitieren --> Unities abgeben: Nur für Theo37
Hallo Theo, Code:
public void blablablub () { //MyMenu = Menüobjekt for(int _i = 0;_i<10;_i++) { ToolStripItem _nItem = MyMenu.DropDownItems.Add(_i.ToString()); _nItem.Click += new EventHandler(_nItem_Click); } } void _nItem_Click(object sender, EventArgs e) { /// ff der Code was passieren soll }
Grüße! Holger ------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen. defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Theo37 Mitglied Techniker
Beiträge: 423 Registriert: 08.10.2008
|
erstellt am: 02. Feb. 2012 17:20 <-- editieren / zitieren --> Unities abgeben:
Hallo Holger, ich hab jetzt meine eigene schlichte Variante auf VB fertig. Wenn es irgendjemand brauchen kann. Gruß Theo Public Class Form1 Private WithEvents Myzeile As ToolStripDropDownItem = Nothing . . . Private Sub TextBox1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyUp If Len(TextBox1.Text) = 5 Then Dim Mymenue As ToolStripMenuItem Mymenue = MenuStrip1.Items(0) Mymenue.DropDownItems.Clear() For i = 0 To 9 Myzeile = Mymenue.DropDownItems.Add("0" & i) AddHandler Myzeile.Click, AddressOf Myzeile_Click Next MenuStrip1.Visible = True Mymenue.Visible = True Mymenue.ShowDropDown() Else MenuStrip1.Visible = False End If End Sub Private Sub Myzeile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Myzeile.Click TextBox1.Text = TextBox1.Text & sender.text End Sub End Class [Diese Nachricht wurde von Theo37 am 02. Feb. 2012 editiert.] [Diese Nachricht wurde von Theo37 am 02. Feb. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |