//------------------------------------------------------------------------------- void ButtonSelection_OnClickBoutonEntite(object sender, EventArgs e) { if (!m_gestionnaireModeEdition.ModeEdition) { return; } CRoundButton btnClicked = sender as CRoundButton; if (btnClicked != null) { if (OnSelectObject != null) { OnSelectObject(this, new OnSelectObjectEventArgs(btnClicked.Tag)); } } }
private void AffichePage(int nNumPage, bool bImmediate) { m_nPageEnCours = nNumPage; if (!bImmediate) { m_bActivePagePasCalculee = true; return; } m_bActivePagePasCalculee = false; m_nPageEnCours = nNumPage; RecalcSize(); if (m_listeObjets == null) { return; } m_panelGlobal.SuspendDrawing(); foreach (Control ctrl in new ArrayList(m_panelGlobal.Controls)) { ctrl.Dispose(); } m_panelGlobal.Controls.Clear(); int nStart = GetIndexStartPage(nNumPage); int nIndexElement = nStart; for (int nLigne = 0; nLigne < m_nNblignes; nLigne++) { for (int nCol = 0; nCol < m_nNbcolonnes; nCol++) { Color buttonColor = ButtonColor; CRoundButton bouton = new CRoundButton(); bouton.Rayon = m_nRayonBouton; bouton.Size = new Size(ButtonWidth, ButtonHeight); if (nLigne == 0 && nCol == 0 && nNumPage != 0) { //Bouton précédent bouton.Text = "<<"; bouton.Click += new EventHandler(BoutonPagePrecedente_Click); } else if (nLigne == m_nNblignes - 1 && nCol == m_nNbcolonnes - 1 && nIndexElement + 1 < m_listeObjets.Count) { bouton.Text = ">>"; bouton.Click += new EventHandler(BoutonPageSuivante_Click); } else if (nIndexElement < m_listeObjets.Count) { object obj = m_listeObjets[nIndexElement]; CalcButtonTextEventArgs args = new CalcButtonTextEventArgs(obj); if (OnCalcButtonText != null) { OnCalcButtonText(this, args); } bouton.Tag = obj; if (obj != null && m_dicCouleursSpecifiques.ContainsKey(obj)) { buttonColor = m_dicCouleursSpecifiques[obj]; } if (obj != null && m_setBoutonsInvalides.Contains(obj)) { bouton.Enabled = false; } else { bouton.Enabled = true; } bouton.Text = args.Libelle; bouton.Click += new EventHandler(ButtonSelection_OnClickBoutonEntite); nIndexElement++; } else { bouton = null; } if (bouton != null) { bouton.MargeHorizontale = ButtonHorizontalMargin; bouton.MargeVerticale = ButtonVerticalMargin; bouton.BackColor = buttonColor; bouton.Font = Font; m_panelGlobal.Controls.Add(bouton); Point pt = new Point(nCol * ButtonWidth, nLigne * ButtonHeight); bouton.Location = pt; bouton.LockEdition = !m_gestionnaireModeEdition.ModeEdition; } } } m_panelGlobal.ResumeDrawing(); }