Equivalent du 'Load' en VB

Résolu
PeTeRsLaStAr Messages postés 158 Date d'inscription samedi 22 juin 2002 Statut Membre Dernière intervention 27 juin 2015 - 4 déc. 2005 à 20:05
PeTeRsLaStAr Messages postés 158 Date d'inscription samedi 22 juin 2002 Statut Membre Dernière intervention 27 juin 2015 - 4 déc. 2005 à 22:05
Bonjour !

Voilà je souhaiterais savoir s'il existe un moyen de générer au niveau code, la création d'éléments graphiques ?

Par exemple, sur mon évenement onClick
J'aimerais bien pouvoir créer plusieurs controles...
En VB, je sais qu'on passait par 'Load', sur un controle ou l'on mettait un Index (genre MonBouton(0)), chaque controle créé étant MonBouton(1), MonBouton(2), etc...
J'ai tenté le code suivant, mais il ne marche pas (sachant que le nb de controles peut changer à chaque chargement de la page hein...)

private void button1_Click(object sender, System.EventArgs e)
{
System.Windows.Forms.Button btnLaunch;
btnLaunch.Location =
new System.Drawing.Point(384, 440);


btnLaunch.Name = "btnLaunch";


btnLaunch.Size =
new System.Drawing.Size(208, 40);


btnLaunch.TabIndex = 2;


btnLaunch.Text = "VALIDER";



this.Controls.Add(btnLaunch);

}

Quelqu'un pourrait il m'adresser une solution ?

****************************************************
Il n'y a pas de pb sans solutions : il faut juste trouver le temps pour les chercher

8 réponses

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
4 déc. 2005 à 22:00
Comme le dit la doc /library/fre/cpref/html/frlrfSystemEventHandlerClassTopic.asp EventHandler :
public delegate void EventHandler(
object sender ,
EventArgs e
);

sender
Source de l'événement.

public void btnLaunch_Click(object sender, EventArgs e)
{
Button clickedButton = (Button)sender;
...
}

/*
coq
MVP Visual C#
*/
3
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
4 déc. 2005 à 21:01
Salut,

System.Windows.Forms.Button btnLaunch= new System.Windows.Forms.Button();

/*
coq
MVP Visual C#
*/
0
PeTeRsLaStAr Messages postés 158 Date d'inscription samedi 22 juin 2002 Statut Membre Dernière intervention 27 juin 2015 1
4 déc. 2005 à 21:07
Et si je veux gérer i Boutons, je fais comment pour les renommer ?
Vu que btnLaunch(i) marche pas, je vois pas trop comment les nommer différemment ?

Merci aussi pour cette réponse :)

****************************************************
Il n'y a pas de pb sans solutions : il faut juste trouver le temps pour les chercher
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
4 déc. 2005 à 21:13
Avec une boucle ?

private void button1_Click(object sender, System.EventArgs e)
{
System.Windows.Forms.Button btnLaunch;

for (int i=1; i<=10; i++)
{
btnLaunch = new System.Windows.Forms.Button();
btnLaunch.Location = new System.Drawing.Point(384, 440); // modifier les coordonnées suivant i, naturellement
btnLaunch.Name = string.Format("btnLaunch{0}", i);
btnLaunch.Size = new System.Drawing.Size(208, 40);
btnLaunch.TabIndex = 2; // a modifier aussi suivant i, probablement
btnLaunch.Text = "VALIDER";
this.Controls.Add(btnLaunch);
}
}

/*
coq
MVP Visual C#
*/
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PeTeRsLaStAr Messages postés 158 Date d'inscription samedi 22 juin 2002 Statut Membre Dernière intervention 27 juin 2015 1
4 déc. 2005 à 21:28
Mon sauveur...

Encore une dernière question et je te construis un temple...

Comment faire pour gérer une fonction dans chacune de ces évenements ? Genre sur l'évenement OnClick ?

Tu vas me dire :

btnLaunch.Click+=new EventHandler(btnLaunch_Click);

Ok... Mais à partir de là, je sais pas dans quel bouton je suis...
Une idée ?
En fait l'idée serait de faire ma fonction
private void btnLauch_Click(object sender,eventArgs e)
{
//Renvoie un truc du genre MonBoutonEncours.Name
}

L'idée, est en fait de faire une feuille ou je pourrais générer des boutons en fonction de certains critères d'entrée, et ou je pourrais utiliser le résultat par exemple (à savoir, pour faire un genre de QCM...)

Une idée (je suis sur que oui) pour me sauver la vie, Encore une enième fois de plus, Monsieur Coq ? :)

****************************************************
Il n'y a pas de pb sans solutions : il faut juste trouver le temps pour les chercher
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
4 déc. 2005 à 21:55
Salut, il faut caster le sender.

private void Buttons_Click( object sender, EventArgs e )
{
MessageBox.Show( ( ( Button )sender ).Name );
}
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
4 déc. 2005 à 22:02
Arf

/*
coq
MVP Visual C#
*/
0
PeTeRsLaStAr Messages postés 158 Date d'inscription samedi 22 juin 2002 Statut Membre Dernière intervention 27 juin 2015 1
4 déc. 2005 à 22:05
Merci bcp Coq et Lutinore...

****************************************************
Il n'y a pas de pb sans solutions : il faut juste trouver le temps pour les chercher
0
Rejoignez-nous