Renommer un form avec une variable

Résolu
Utilisateur anonyme - 23 sept. 2024 à 20:42
 Utilisateur anonyme - 24 sept. 2024 à 16:55

Bonjour, je cherche en vb.net comment utiliser un 'data grid view' avec un form que est passé dans une variable. J'ai :

Public strSection As New Form

, qui place la form dans une variable. Si j'utilise la variable comme tel que : 

strSection.Controls(strGroupbox).Controls(strPnlName).Controls(strGBName)

, aucun problème, ça fonctionne parfaitement mais si je veux utiliser un 'data grid view', ça ne fonctionne pas.

strSection2.TacheIngDGV.Rows

VN.net me dit que le 'data grid view' n'est pas un membre de form. Que faut-il faire pour que le 'data grid view' soit associé à la nouvelle form?

Merci pour votre aide.


Windows / Chrome 129.0.0.0

2 réponses

Utilisateur anonyme
24 sept. 2024 à 16:55

C'est exactement ce qu'il me manquait : Remplacez MyForm par le nom réel de votre classe de formulaire qui contient le DataGridView.

Ca fonctionne parfaitement bien.

Merci pour votre rapidité et votre réponse.

1
Bruno83200_6929 Messages postés 282 Date d'inscription jeudi 18 juin 2020 Statut Membre Dernière intervention 23 octobre 2024 57
23 sept. 2024 à 20:52

Bonjour,

Pour utiliser un DataGridView à partir d'une instance de Form stockée dans une variable, il faut d'abord s'assurer que vous accédez au bon type. En VB.NET, un DataGridView est un contrôle qui doit être ajouté à un Form ou à un autre conteneur. Voici comment vous pouvez procéder :

Vous devez convertir votre variable strSection en un type de formulaire qui contient le DataGridView. Cela peut être fait avec un casting explicite.

Une fois que vous avez casté votre formulaire, vous pouvez accéder au DataGridView comme vous le feriez normalement.

' Supposons que strSection soit une instance de MyForm, où MyForm contient le DataGridView
Dim myForm As MyForm = CType(strSection, MyForm)

' Maintenant vous pouvez accéder au DataGridView
Dim dgv As DataGridView = myForm.TacheIngDGV

' Utilisez le DataGridView comme vous le feriez normalement
dgv.Rows.Add("Nouvelle ligne")

Remplacez MyForm par le nom réel de votre classe de formulaire qui contient le DataGridView.

Assurez-vous que votre formulaire a bien été initialisé et qu'il contient le contrôle DataGridView avant d'essayer d'y accéder.

Si vous n'avez pas un type de formulaire spécifique, vous devrez le créer et y ajouter le DataGridView pour pouvoir l'utiliser correctement.


0