| U bevindt zich > Oude forum > Visual Basic .Net > Algemeen (VB.Net) > Menu |
| Gepost door _Sander_ gepost op 03/02/2006 om 20:30 |
hoi,
ik heb een menu dat heet: MenuStrip1 . Hierin heb ik een knop gemaakt Favorieten dat heet: FaToolStripMenuItem. onder favorieten heb ik een knop gemaakt die het volgende uitvoert:
Private Sub ToevoegenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToevoegenToolStripMenuItem.Click
Me .FaToolStripMenuItem.DropDownItems.Add(ToolStripComboBox1.Te xt)
End Sub
Als ik op toevoegen druk voegt ie keurig ToolStripComboBox1.Text toe aan de favortieten. Maar zodra ik druk op wat ie toegevoegd heb gebeurt er niks. Maar nu wil ik dus weten hoe kan ik er voor zorgen dat als ik op het toegevoede deel het volgende gaat uitvoeren:
Navigate(Hier moet dan het toegevoegde deel komen) ToolStripButton4.Enabled = True
m.v.g Sander |
| Gepost door Don Delegate gepost op 04/02/2006 om 10:35 |
Bijvoorbeeld zoiets:
Code:
Private Sub ToolStripMenuItemToevoegenClick(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles ToolStripMenuItemToevoegen.Click
Dim tekst As String = ComboBox1.SelectedItem.ToString
With ToolStripMenuItemFavorieten
For Each item As ToolStripItem In .DropDownItems
If item.Text = tekst Then Return
Next
With .DropDownItems
If .Count = 1 Then .Add(New ToolStripSeparator)
.Add(tekst, Nothing, AddressOf NavigateHandler)
End With
End With
End Sub
Private Sub NavigateHandler(ByVal sender As Object, _
ByVal e As System.EventArgs)
Navigate(DirectCast(sender, ToolStripMenuItem).Text)
End Sub
Private Sub Navigate(ByVal URI As String)
Text = URI
End Sub
|
|
| Gepost door _Sander_ gepost op 04/02/2006 om 15:01 |
bedankt |
| Gepost door _Sander_ gepost op 04/02/2006 om 15:39 |
Ik heb de code een beetje aangepast en het werkt perfect. dit is hem geworden:
Private Sub ToevoegenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToevoegenToolStripMenuItem.Click
Dim tekst As String tekst = ToolStripComboBox1.Text With ToevoegenToolStripMenuItem For Each item As ToolStripItem In Me.FaToolStripMenuItem.DropDownItems If item.Text = tekst Then Return Next With Me.FaToolStripMenuItem.DropDownItems If .Count = 1 Then .Add(New ToolStripSeparator) .Add(tekst, Nothing, AddressOf NavigateHandler) End With End With End Sub
Private Sub NavigateHandler(ByVal sender As Object, ByVal e As System.EventArgs) Navigate(DirectCast(sender, ToolStripMenuItem).Text) End Sub
heel erg bedankt voor de code.
ik heb nu het volgende probleem:
Private Sub ToolStripComboBox1_KeyDown(ByVal sender As Object, ByVal e As KeyEventArgs) Handles ToolStripComboBox1.KeyDown If (e.KeyCode = Keys.Enter) Then Navigate(ToolStripComboBox1.Text) End If End Sub
als ik de volgende code gebruik en druk op enter werkt het allemaal heel mooi.Alleen windows is het er niet mee eens.zodra ik op enter druk dan voert ie prima uit wat der in de code staat alleen hoor je zo'n windows ping dus dat het volgens windows niet kan. Volgens mij komt dat omdat het een combobox is en enter voor een volgende regel staat maar zoals ik al zei is het een combobox dus er is geen volgende regel.Hoe kan ik dat geluidje uitzetten of is dat niet mogelijk?
m.v.g Sander
|
| Gepost door Don Delegate gepost op 04/02/2006 om 17:17 |
Die beep komt van de Edit control in de Combobox. Ofwel: 1) Zet de property DropDownStyle van de ComboBox op DropDownList (je kan dan wel alleen nog items kiezen uit de lijst en geen andere dingen meer intikken). 2) Indien 1 niet kan: gebruik de KeyPress Event i.p.v. de KeyDown event: Code:
Private Sub ToolStripComboBox1_KeyPress(ByVal sender As System.Object, _ ByVal e As System.Windows.Forms.KeyPressEventArgs) _ Handles ComboBox1.KeyPress
If (Convert.ToInt32(e.KeyChar) = Keys.Enter) Then
e.Handled = True
Navigate(DirectCast(sender, ComboBox).Text)
End If
End Sub
|
|
| Gepost door _Sander_ gepost op 04/02/2006 om 17:26 |
| Het werkt.Bedankt voor de code. Helemaal geweldig |
| Gepost door zuro gepost op 14/02/2006 om 11:16 |
hoe zet je naast een main menu een foto
bv
bestand
(foto)openen
(foto) sluiten
(foto) afdrukken |
| Gepost door Don Delegate gepost op 14/02/2006 om 11:55 |
Met de ToolStripItem.Image property of de ToolStripItem.ImageIndex property. Zie ook ToolStripItem.DisplayStyle en ToolStripItem.ImageAlign en ToolStrip.ImageList |
| Gepost door zuro gepost op 14/02/2006 om 13:43 |
| kan je een voorbeeld geven want hier kent hij toolstripitem niet |
| Gepost door Don Delegate gepost op 14/02/2006 om 14:05 |
ToolStripMenuItem is een afgeleide van ToolStripDropDownItem, op zijn beurt weer een afgeleide van ToolStripItem. Jouw menu item zal dus een ToolStripMenuItem zijn. ToolStripMenuItems zijn opties in een MenuStrip of een ContextMenuStrip.
Noteer dat al deze klassen nieuw zijn in .NET 2.0 en de MainMenu, ContextMenu en MenuItem klassen vervangen (die ook nog wel aanwezig zijn in .NET 2.0).
Dus de logische vraag: je werkt met .NET 2.0? |
| Gepost door zuro gepost op 14/02/2006 om 16:17 |
visual studio 2003 als dat een antwoord zou zijn |
| Gepost door Don Delegate gepost op 14/02/2006 om 20:59 |
Dat is dan .NET 1.1 (VS2003 doet geen .NET 2.0). Dus dan heb je de nieuwe klassen niet tot je beschikking. Zie How to create a custom menu in Visual Basic .NET 2003 and in Visual Basic .NET 2002 |