Meilleur auteur de réponses
Gerer un "menustrip"

Question
-
Réponses
-
-
Bonjour,
Quelques notions de VB.NET vous manquent peut-être.
Je vais reprendre au total,
cela donne :
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim Menu1ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Dim SubMenu1ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Dim SubMenu2ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Menu1ToolStripMenuItem.Name = "Menu1" Menu1ToolStripMenuItem.Text = "Menu1" MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Menu1ToolStripMenuItem}) SubMenu1ToolStripMenuItem.Name = "SubMenu1" SubMenu1ToolStripMenuItem.Text = "SubMenu1" AddHandler SubMenu1ToolStripMenuItem.Click, AddressOf XXXXXToolStripMenuItem_Click SubMenu2ToolStripMenuItem.Text = "SubMenu2" SubMenu2ToolStripMenuItem.Name = "SubMenu2" AddHandler SubMenu2ToolStripMenuItem.Click, AddressOf XXXXXToolStripMenuItem_Click Menu1ToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {SubMenu1ToolStripMenuItem, SubMenu2ToolStripMenuItem}) Me.MenuStrip1.Items.Add(Menu1ToolStripMenuItem) Me.MenuStrip1.Items.Add("toto") End Sub Private Sub XXXXXToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) MessageBox.Show("Clicked") End Sub
Cordialement,
Kevin BEAUGRAND, Modis FRANCE
Merci de bien vouloir "Marquer comme réponse", les réponses qui ont résolu votre problème.- Proposé comme réponse BEAUGRAND Kevin vendredi 11 juillet 2014 09:53
- Marqué comme réponse Tom57000 vendredi 11 juillet 2014 10:00
-
Merci beaucoup !
Voici la solution comlplète :
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim Menu1ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Dim SubMenu1ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Dim SubMenu2ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.Controls.Add(MenuStrip1) Menu1ToolStripMenuItem.Name = "Menu1" Menu1ToolStripMenuItem.Text = "Menu1" MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Menu1ToolStripMenuItem}) SubMenu1ToolStripMenuItem.Name = "SubMenu1" SubMenu1ToolStripMenuItem.Text = "TEST" AddHandler SubMenu1ToolStripMenuItem.Click, AddressOf OuvrirToolStripMenuItem_Click SubMenu2ToolStripMenuItem.Text = "SubMenu2" SubMenu2ToolStripMenuItem.Name = "SubMenu2" AddHandler SubMenu2ToolStripMenuItem.Click, AddressOf ExitToolStripMenuItem_Click Menu1ToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {SubMenu1ToolStripMenuItem, SubMenu2ToolStripMenuItem}) Me.MenuStrip1.Items.Add(Menu1ToolStripMenuItem) Me.MenuStrip1.Items.Add("toto") End Sub Private Sub OuvrirToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) MessageBox.Show("Clicked") End Sub Private Sub ExitToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) MessageBox.Show("Clicked") End Sub
- Marqué comme réponse Tom57000 vendredi 11 juillet 2014 10:00
Toutes les réponses
-
Bonjour,
Avez-vous cherché quelques tutoriels ?
Celui-ci me semble pas mal : http://www.cs.trinity.edu/~thicks/Tutorials/Visual-Studio-Windows-App-Form-MenuStrip-Apps/Visual-Studio-Windows-App-Form-MenuStrip-Apps.html
Cordialement,
Kevin BEAUGRAND, Modis FRANCE
Merci de bien vouloir "Marquer comme réponse", les réponses qui ont résolu votre problème. -
Il crée les menus directement dans l'interface.
J'aimerais pouvoir faire la même chose mais dans le code, pour pouvoir changer mon interface en fonction de mes besoins
MenuStrip1.Items.Add("TEST")
Avec ça je peut créer un bouton dans la barre, mais j'aimerais aussi pouvoir rajouter des sous-menu en fin de compte ... -
Bonjour,
En regardant le code du Designer après avoir ajouté les boutons par l'interface, on peut procéder par analogie comme suit :
Me.MenuStrip1 = New System.Windows.Forms.MenuStrip() Me.Menu1ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.SubMenu1ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.SubMenu2ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.Menu1ToolStripMenuItem.Name = "Menu1" Me.Menu1ToolStripMenuItem.Text = "Menu1" Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.Menu1ToolStripMenuItem}) Me.SubMenu1ToolStripMenuItem.Name = "SubMenu1" Me.SubMenu1ToolStripMenuItem.Text = "SubMenu1" Me.SubMenu2ToolStripMenuItem.Text = "SubMenu2" Me.SubMenu2ToolStripMenuItem.Name = "SubMenu2" Me.Menu1ToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.SubMenu1ToolStripMenuItem, Me.SubMenu2ToolStripMenuItem}) Me.MenuStrip1.Items.Add(Me.Menu1ToolStripMenuItem)
Cordialement,
Kevin BEAUGRAND, Modis FRANCE
Merci de bien vouloir "Marquer comme réponse", les réponses qui ont résolu votre problème.- Proposé comme réponse BEAUGRAND Kevin vendredi 11 juillet 2014 09:52
-
-
-
-
-
-
-
Yep ! bien vu, je pensais que vu que j'l'avais déjà mis sur l'interface, il prenait celui en compte.
Parcontre, pour faire des actions sur les bouton crées, je suis bien obligé de passé par la non :
Private Sub XXXXXToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles XXXXXToolStripMenuItem.Click End Sub
Avec XXX le nom du bouton.
Sauf que dans la parti qui commence par "Handles" il me dis :
"La clause Handless requiert une variable WithEvents définie dans le type de conteneur ou l'un de ces types de bases"
ça veut dire que j'peut pas mettre des actions derrière mon sous menu ?
-
Bonjour,
Il suffit d'ajouter simplement les events au moment de la génération.
La methode sera déclarée comme ceci :
Private Sub XXXXXToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) MessageBox.Show("Clicked") End Sub
Et l'abonnement à l'event se fait alors comme ceci :
AddHandler SubMenu1ToolStripMenuItem.Click, AddressOf XXXXXToolStripMenuItem_Click
Cordialement,
Kevin BEAUGRAND, Modis FRANCE
Merci de bien vouloir "Marquer comme réponse", les réponses qui ont résolu votre problème.- Proposé comme réponse BEAUGRAND Kevin vendredi 11 juillet 2014 09:53
-
Private Sub OuvrirToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) AddHandler SubMenu1ToolStripMenuItem.Click, AddressOf OuvrirToolStripMenuItem_Click MessageBox.Show("Clicked") End Sub
Je dois faire ça ?
Parce que si c'est ça, il me dis qu'il attends une instruction ...
-
Bonjour,
Quelques notions de VB.NET vous manquent peut-être.
Je vais reprendre au total,
cela donne :
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim Menu1ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Dim SubMenu1ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Dim SubMenu2ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Menu1ToolStripMenuItem.Name = "Menu1" Menu1ToolStripMenuItem.Text = "Menu1" MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Menu1ToolStripMenuItem}) SubMenu1ToolStripMenuItem.Name = "SubMenu1" SubMenu1ToolStripMenuItem.Text = "SubMenu1" AddHandler SubMenu1ToolStripMenuItem.Click, AddressOf XXXXXToolStripMenuItem_Click SubMenu2ToolStripMenuItem.Text = "SubMenu2" SubMenu2ToolStripMenuItem.Name = "SubMenu2" AddHandler SubMenu2ToolStripMenuItem.Click, AddressOf XXXXXToolStripMenuItem_Click Menu1ToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {SubMenu1ToolStripMenuItem, SubMenu2ToolStripMenuItem}) Me.MenuStrip1.Items.Add(Menu1ToolStripMenuItem) Me.MenuStrip1.Items.Add("toto") End Sub Private Sub XXXXXToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) MessageBox.Show("Clicked") End Sub
Cordialement,
Kevin BEAUGRAND, Modis FRANCE
Merci de bien vouloir "Marquer comme réponse", les réponses qui ont résolu votre problème.- Proposé comme réponse BEAUGRAND Kevin vendredi 11 juillet 2014 09:53
- Marqué comme réponse Tom57000 vendredi 11 juillet 2014 10:00
-
Merci beaucoup !
Voici la solution comlplète :
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim Menu1ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Dim SubMenu1ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Dim SubMenu2ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.Controls.Add(MenuStrip1) Menu1ToolStripMenuItem.Name = "Menu1" Menu1ToolStripMenuItem.Text = "Menu1" MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Menu1ToolStripMenuItem}) SubMenu1ToolStripMenuItem.Name = "SubMenu1" SubMenu1ToolStripMenuItem.Text = "TEST" AddHandler SubMenu1ToolStripMenuItem.Click, AddressOf OuvrirToolStripMenuItem_Click SubMenu2ToolStripMenuItem.Text = "SubMenu2" SubMenu2ToolStripMenuItem.Name = "SubMenu2" AddHandler SubMenu2ToolStripMenuItem.Click, AddressOf ExitToolStripMenuItem_Click Menu1ToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {SubMenu1ToolStripMenuItem, SubMenu2ToolStripMenuItem}) Me.MenuStrip1.Items.Add(Menu1ToolStripMenuItem) Me.MenuStrip1.Items.Add("toto") End Sub Private Sub OuvrirToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) MessageBox.Show("Clicked") End Sub Private Sub ExitToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) MessageBox.Show("Clicked") End Sub
- Marqué comme réponse Tom57000 vendredi 11 juillet 2014 10:00
-