cs_taulard
Messages postés5Date d'inscriptiondimanche 12 novembre 2000StatutMembreDernière intervention 8 mai 2008
-
8 mai 2008 à 19:55
WishhhMaster
Messages postés327Date d'inscriptionmardi 17 février 2004StatutMembreDernière intervention10 avril 2010
-
9 mai 2008 à 01:31
Bonjour tous le monde,
je ne sais pas comment exprimer ma demande,
j'ai un usercontrol nomné : ControlBar, dans lequel j'ai un BoutonBar_Click
private void BoutonBar_Click(object sender, EventArgs e)
{
if (!(e is MouseEventArgs)) return;
// case to MouseEventArgs so position and mousebutton clicked can be used
MouseEventArgs mea = (MouseEventArgs)e;
// only continue if left mouse button was clicked
if (mea.Button != MouseButtons.Left) return;
// MessageBox.Show("toto");
int index = (mea.Y - 1) / (buttonHeight + 1);
MessageBox.Show(" " + index.ToString());
if (index < 0 || index >= buttons.Count)
return;
BoutonBarButton button = buttons[index];
if (button == null) return;
if (!button.Enabled) return;
// ok, all checks passed so assign the new selected button
// and raise the event
SelectedButton = button;
ButtonClickEventArgs bce = new ButtonClickEventArgs(selectedButton, mea);
if (Click != null) // only invoke on left mouse click
Click.Invoke(this, bce);
}
je ne sais pas comment faire pour récupérer dans un autre Usercontrol la valeur de : int index
WishhhMaster
Messages postés327Date d'inscriptionmardi 17 février 2004StatutMembreDernière intervention10 avril 20108 9 mai 2008 à 01:27
Salut,
Pourquoi tu ne déclares pas index dans ta classe ControlBar? Et tu laisses d'autres classes y accéder par une propriété
class ControlBar: UserControl
{
..
int index = -1;
...
// change la valeur de index chaque fois que BoutonBar_Click est déclenché
...
int CurrentIndex //Permet aux autres classes d'accéder à index
{
get{ return index;}
}
Ou alors j'ai mal compris?
Sinon pour trouver quel bouton est cliqué, tu peux directement fare BoutonBarButton clickedBtn = (BoutonBarButton)sender.
Après, tu peux même déclarer une variable index dans ta classe ButtonBarButton et obtenir l'index du bouton cliqué avec clickedBtn.Index
WishhhMaster
Messages postés327Date d'inscriptionmardi 17 février 2004StatutMembreDernière intervention10 avril 20108 9 mai 2008 à 01:31
Tu peux aussi déclarer ton propre évènement déclenché quand le bouton est cliqué, et passer l'index du bouton cliqué en argument. Comme ça les autres controls qui se sont inscrits pour ton évènement seront prévenus quand tu cliques un bouton et auront l'index directement.