Bonjour,
Je me forme gentiment au .net en convertissant une application faite en VBA mais j'essaie de tirer profit de la programmation orientée objet.
J'ai créé un formulaire de base nommé frm_base duquel héritent tous les formulaires de mon application.
J'ai créé un formulaire de base de listing d'entités nommé frm_baseList qui hérite donc du formulaire de base mais qui dont hérite un autre formulaire.
De même pour le formulaire de base détail frm_baseDetail d'une entité.
La liste des entités de type d'opération se présente avec le formulaire frm_operationTypeList et le détail se présente avec le formulaire frm_operationTypeDetail
Au niveau des relations d'héritage, on a donc :
frm_base > frm_baseList > frm_operationTypeList
et
frm_base > frm_baseDetail > frm_operationTypeDetail
Cependant j'ai ajouté à frm_baseDetail une propriété _formParent de type frm_baseList qui est le formulaire liste parent pour pouvoir updater la liste lors d'une modification au sein du détail.
Mon problème est le suivant :
J'affecte bien cette propriété au niveau du constructeur de la classe frm_operationTypeDetail avec le formulaire liste appelant mais je n'arrive pas à accéder à la valeur au moment de l'update des données du déatil, autrement dit, j'ai perdu l'objet qui avait été assigné à la propriété.
Le type de la propriété est-il pour quelque chose?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 Public Class frm_BaseDetail Inherits frm_Base Private _formParent As frm_BaseList Public Property FormParent() As frm_BaseList Get Return _formParent End Get Set(ByVal value As frm_BaseList) _formParent = value End Set End Property ... Public Sub New() MyBase.New() InitializeComponent() End Sub ... End Class Public Class frm_OpeTypeDetail Inherits frm_BaseDetail ... Public Sub New(ByVal vpFormParent As frm_BaseList) MyBase.New() InitializeComponent() Me.FormParent = vpFormParent ... End Sub ... Private Sub btn_save_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn_save.Click ... 'On ne peut pas accéder à l'objet sur la ligne suivante CType(Me.ParentForm, frm_OpeTypeList).RefreshList() End Sub End Class
Partager