90 boutons : comment optimiser le code ?

zigxag Messages postés 142 Date d'inscription jeudi 10 février 2005 Statut Membre Dernière intervention 2 octobre 2008 - 9 août 2005 à 09:52
Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010 - 9 août 2005 à 19:01
Bonjour !
Je dois mettre en place une sorte de planning, dans lequel chaque case (les plages horaires par jour) doit pouvoir changer de couleur lors d'un clic.
J'avais donc pensé faire un tableau dans lequel j'aurais mis, dans chaque case, des boutons pour lesquels j'aurais attachés le changement de couleur de fond à l'evenement OnClick...
Mais voilà : il y a au total 90 cases !! Je place donc 90 boutons sur ma page ??? N'y aurait il pas une meilleure solution pour optimiser mon code, puisque chaque bouton a le même comportement ?
Je vous remercie pour les informations que vous pourrez me donner...

8 réponses

Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010
9 août 2005 à 10:19
Tu peux utiliser un toolstrip à la place des boutons, ou même un contextmenustrip

Bonne chance...

YaoYao !!
1 + 1 = 10
0
zigxag Messages postés 142 Date d'inscription jeudi 10 février 2005 Statut Membre Dernière intervention 2 octobre 2008 12
9 août 2005 à 11:29
heu je ne sais pas trop ce que sont ces controles, mais ce n'est pas d'un menu que je voudrais, mais vraiment des zones cliquables à l'interieur de chaque cellule du tableau...
Ah j'ai oublié de dire aussi que je fais un formulaire Web...
0
Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010
9 août 2005 à 12:54
looooooooooool, ben tu prog en webform, mieux vaut voir les aspiens , www.aspfr.com, sinon, il ya une propriété dans ce menu pour le mettre comme un tableau

Bonne chance

YaoYao !!
1 + 1 = 10
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
9 août 2005 à 15:06
Salut, la première chose à faire c'est d'attacher tous tes boutons au même événement OnClick, tu l'as peut être déja fait.. Sinon oublie les boutons et contente toi de tester si ta souris est sur la bonne case au moment d'un clique, il suffit d'un tableau de rectangles et de tester dans le MouseDown si la souris est contenue dans le rectangle.



Rectangle[ ] rects;
// à initialiser.

protected
override
void OnMouseDown(
MouseEventArgs e )
{

//base.OnMouseDown( e );

if ( e.Button ==
MouseButtons.Left )
{

foreach (
Rectangle r
in rects )
{

if ( r.Contains( e.X, e.Y ) )
{

using (
Graphics g =
this.CreateGraphics( ) )
{
g.FillRectangle(
Brushes.Lime, r );
}

break;
}
}
}
}
0

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

Posez votre question
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
9 août 2005 à 15:09
J'ai oublié de dire que c'est pour les Winforms, le même principe doit être adaptable aux WebForms ( !? )
0
Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010
9 août 2005 à 17:08
euh je c pas, Graphics et tt, reste rien pour avoir un need gor speed wbeform lool

YaoYao !!
1 + 1 = 10
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
9 août 2005 à 17:39
Je n'utilise pas les WebForms c'est pour ca que j'ai parlé du principe pas du code et que j'ai rajouté un point d'exclamation et d'interrogation.
0
Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010
9 août 2005 à 19:01
Ah j'ai oublié de dire aussi que je fais un formulaire Web...
Je n'utilise pas les WebForms

YaoYao !!
1 + 1 = 10
0
Rejoignez-nous