Пример #1
0
        public Damier(int nbrCaseCoteDamier, int tailleBoutonPX, int nbrCaseMarge, int posX, int posY, Color colorChoixCF, Color colorChoixCC)
        {
            //definition de la COULEUR du damier
            this.colorChoixCF = colorChoixCF;
            this.colorChoixCC = colorChoixCC;
            {
                // definition de TAILLE du damier
                tailleLig    = nbrCaseCoteDamier; //8 nbr de ligne
                tailleCol    = nbrCaseCoteDamier; //8 nbr de colonnes
                tailleBouton = tailleBoutonPX;    //bouton de 50 px
                tailleLabel  = tailleBoutonPX / 2;
                tailleMarge  = nbrCaseMarge;      //2 bouton de marge par cote

                //definition de POSITION du damier
                this.posY = posY;
                this.posX = posX;

                //Definition de la taille de la grille contenant bouton
                grille = new monBouton[tailleLig + (tailleMarge * 2), tailleCol + (tailleMarge * 2)];

                //Definition de la taille de la table labels contenant les labels
                labels = new Label[tailleLig + tailleCol];
                int il = 0; //indice pour inserrer un label

                //Création du damier. On remplit de boutons la grille de boutons.
                for (int ligne = 0; ligne < grille.GetLength(0); ++ligne)
                {
                    for (int colonne = 0; colonne < grille.GetLength(1); ++colonne)
                    {
                        // ********** BOUTON ************

                        monBouton b = new monBouton(ligne, colonne, colorChoixCF, colorChoixCC);  //j'enregistre un numéro de colonne et de ligne pour chacun de mes boutons

                        if (ligne >= tailleMarge && ligne < (tailleMarge + tailleLig))

                        {
                            if (colonne >= tailleMarge && colonne < (tailleMarge + tailleCol))
                            {
                                b.Size     = new Size(tailleBouton, tailleBouton);                                                                          //Je fais des boutons carrés
                                b.Visible  = true;
                                b.Location = new Point(1 + (colonne - tailleMarge) * tailleBouton + posX, 1 + (ligne - tailleMarge) * tailleBouton + posY); //1 pour avoir un peu d'espace

                                // ******** Background couleur des cellule *******
                                b.Colorer();
                            }
                            else
                            {
                                b.Size    = new Size(0, 0); //si le bouton est en dehors du damier
                                b.Visible = false;
                                //b.Text = "dehors";
                            }
                        }
                        else
                        {
                            b.Size    = new Size(0, 0); //si le bouton est en dehors du damier
                            b.Visible = false;
                            //b.Text = "dehors";
                        }

                        //b.Text = "l" + b.getNumLigne() + 'c' + b.getNumCol(); //identification des boutons
                        grille[ligne, colonne] = b; //On remplit la grille de boutons
                    }
                }

                // ********** LABEL ************
                for (int ligne = 0; ligne < grille.GetLength(0); ++ligne)
                {
                    if (ligne >= tailleMarge && ligne < (tailleMarge + tailleLig))
                    {
                        //ligne
                        Label labelLigne = new Label();
                        labelLigne.Location = new Point(tailleCol * tailleBouton + 1 + posX, 20 + tailleBouton * (ligne - tailleMarge) + posY);
                        labelLigne.Size     = new Size(tailleLabel, tailleLabel);
                        labelLigne.Text     = "" + (ligne - tailleMarge + 1);
                        //ajout dans la table labels
                        labels[il] = labelLigne;
                        ++il;
                    }
                }
                for (int colonne = 0; colonne < grille.GetLength(1); ++colonne)
                {
                    if (colonne >= tailleMarge && colonne < (tailleMarge + tailleCol))
                    {
                        //colonne
                        Label labelColonne = new Label();
                        labelColonne.Location = new Point(20 + tailleBouton * (colonne - tailleMarge) + posX, tailleLig * tailleBouton + 1 + posY);
                        labelColonne.Size     = new Size(tailleLabel, tailleLabel); //ATTENTION les labels peuvent ne pas apparaitre à cause de leur taille par défaut et des distances mises entre ceux-ci
                        labelColonne.Text     = "" + (colonne - tailleMarge + 1);
                        //ajout dans la table labels
                        labels[il] = labelColonne;
                        ++il;
                    }
                }
            }
        }