Bonjour,
J'ai créé une classe Form1 dans un fichier "Form1.cs" qui hérite de la classe Form avec une méthode MethodeA().
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
using B
namespace A
{
   public partial class Form1 : Form
   {
       public Form1()
       {
          InitializeComponent();
        }
        public void MethodeA()
        {
        }
   }
}
Dans le concepteur graphique de Form1, j'ai placer la classe controlPerso suivante, qui a été créé dans un fichier "ControlPerso.dll" et qui hérite de la classe UserControl.
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
using A;
namespace B
{
   public partial class ControlPerso: UserControl
   {
       public ControlPerso() // Ligne 1
       {
          InitializeComponent();
       }
       public void MethodeB()
       {		    
          // Je veux appeler la methodeA() mais je n'y arrive pas // Ligne 2
       }
    }
}
Le constructeur de ControlPerso est donc automatiquement placer dans un fichier "Form1.Designer.cs" dont voici une partie du code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
namespace A
{
   partial class Form1
   {
       private void InitializeComponent()
       {
          this.controle = new B.ControlPerso(); // ligne 3
          ...
        }
        ...
        private B.ControlPerso controle;
    }
}
Mon problème est le suivant: à partir de la methodeB(), je dois utiliser la methodeA(), comment faire ? (J'ai bien pensé à remplacer la ligne 3 et la ligne 1 par
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Ligne 3 <- this.controle=new B.ControlPerso(this)
Ligne 1 <- Public ControlPerso(Form1 _Parent)
en créant une instance Parent pointant sur _Parent, mais cela ne marche pas: le fichier "Form1.Designer.cs" refuse de s'afficher correctement.
Y-a-t-il une solution pour référencer Form1 dans la dll?
Merci pour vos réponses.