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.