zigxag
Messages postés142Date d'inscriptionjeudi 10 février 2005StatutMembreDernière intervention 2 octobre 2008
-
9 août 2005 à 09:52
Fildomen
Messages postés805Date d'inscriptionjeudi 22 mai 2003StatutMembreDernière intervention30 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...
zigxag
Messages postés142Date d'inscriptionjeudi 10 février 2005StatutMembreDernière intervention 2 octobre 200812 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...
Fildomen
Messages postés805Date d'inscriptionjeudi 22 mai 2003StatutMembreDernière intervention30 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
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 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;
}
}
}
}
Vous n’avez pas trouvé la réponse que vous recherchez ?