J'essaie de construire une application VB.Net pilotée par base de données qui tire une liste de comptes enregistrés à partir d'une base de données et affiche les noms d'utilisateur des comptes throes dans le menu, de sorte que l'utilisateur peut sélectionner et un nouveau formulaire ouvert (où ils travaillent avec).menus de base de données dynamiques dans VB.Net
ce que j'ai à ce jour est le constructeur de la fenêtre parent MDI
Public Sub New()
InitializeComponent()
Dim tsmi As New ToolStripMenuItem("Users", Nothing, AddressOf users_mousedown)
MenuStrip1.Items.Add(tsmi)
End Sub
Le gestionnaire pour le menu utilisateur (où SQLite_db
est une classe qui ressemble après la base de données et user_class
est une classe avec deux articles (nom d'utilisateur et mot de passe) sous forme de chaînes.
Sub users_mousedown()
Dim submenu As New ContextMenuStrip
Dim database As New SQLite_db
Dim user_list As New List(Of user_class)
user_list = database.List_Users
For Each user As user_class In user_list
submenu.Items.Add(user.username, Nothing, AddressOf Open_new_window(user))
Next
submenu.Items.Add("Add new user", Nothing, AddressOf AddNew)
submenu.Show(Control.MousePosition)
End Sub
Ce que je veux arriver est lorsqu'un utilisateur clique sur le menu contextuel d'un nouveau formulaire enfant MDI est créé et les données utilisateur est passé, mais parce que AddressOf n'aime pas qui passe cela ne fonctionne pas ...
J'ai regardé des délégués et des expressions de landa mais je ne pense pas que l'un d'entre eux fasse ce dont j'ai besoin, l'autre option est de créer ma propre sous-classe de la classe ContextMenuStrip, qui 1) gère les clics comme je veux et 2) ressemble à un cauchemar.
Avant de lancer ce que je pense sera un sacré boulot, ai-je oublié quelque chose? est-ce un moyen simple de faire ce que je veux faire? ou sinon va sous-classer ContextMenuStrip travail et si aucune idée de ce qui va (et si elle le veut, des idées sur la façon de commencer à apprendre comment faire cela)
aha, merci je vais donner un coup ce soir (heure du Royaume-Uni) –