Bonjour,
J'ai une question d'une redoutable simplicité, mais étant débutant, ca me pose problème et remets en question ma santé mentale.
C'est très simple : j'ai deux composants que j'ai instancié dans une Form vide : une TextBox et un Button. Je voudrais pouvoir modifier le champ de texte de la TextBox quand je clique sur le Button. Or, impossible d'accéder a la propriété Text là où je voudrais. J'ai essayé avec des Delegates/Events, qui servent habituellement à ça, mais la...
Voila ce que je fais :
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
39
40
41 public partial class Form1 : Form { public delegate void ChangeTextDelegate(string str); public event ChangeTextDelegate changeTextEvent; public Form1() { InitializeComponent(); TextBox myTextBox = new TextBox(); myTextBox.Location = new Point(10, 30); this.Controls.Add(myTextBox); Button myButton = new Button(); myButton.Location = new Point(10, 60); this.Controls.Add(myButton); myButton.Click += new EventHandler(buttonClick); changeTextEvent += new ChangeTextDelegate(changeText); } private void buttonClick(Object sender, EventArgs e) { if (changeTextEvent != null) { changeTextEvent("hello"); } } private void changeText(string str) { MessageBox.Show(str); // TODO : changer le texte de la TextBox ! } }
Le Délégate ne sert ici pas à grand chose... La solution doit être toute simple, mais je sèche. Merci de vos eclaircissements.
Partager