none
buttony pozadí

    Dotaz

  • Zdravim,
    Potřeboval by sjem poradit.Snažíms e udělat šachy, nebo aspoň nějaké figurky, ale zasekl sjems e hnedka na začítku u barvení políček:-(. Vytvořím si pole buttonu 8x8 pojmenuju umístím, ale nevím jak udělat podmínku aby se obarvil každý ruhý , zkoušel jsem to přes
    Button[,] pole = new Button[8, 8];
                int indx = 0;
                int x = 100, y = 100;
                for (int i = 0; i < 8; i++)
                {
                    for (int j = 0; j < 8; j++)
                    {
    
                        pole[i, j] = new Button();
                        pole[i, j].Location = new Point(x, y);
                        pole[i, j].Name = "btn" + i.ToString() + j.ToString();
                        pole[i, j].Size = new Size(53, 53);
                        pole[i, j].TabIndex = indx;
                        Controls.Add(pole[i, j]);
                        x += 50; indx++;
                        if (pole [i, j] / 2 == 1)
                        pole[i, j].BackColor = Color.Black;
                        else
                            pole[i, j].BackColor = Color.White;
                    }
                    x = 100; y += 50;
                }
    ale to mi vyhodí chybu že nelze použít matematické operace, tak bych prosil o radu
    středa 9. prosince 2009 15:47

Odpovědi

  •  Místo
    if (pole [i, j] / 2 == 1)
    použijte
    if((Controls.count / 2) == 1)
    Potřebujete vydělit počet políček, nikoli objekt typu Button.
    Boris Lehečka (Word, VBA, XML, C#, SQL)
    středa 9. prosince 2009 19:04
  • Co tak to vybarvování řešit jednodušeji:

    bool bila = true;
    for (...)
      for (...)
        {
          ...
          if (bila)
                pole[i,j].BackColor = Color.White;
          else
                pole[i,j].BackColor = Color.Black;
          bila = ! bila;
          ...
         }

    a nemusíte nic počítat ani dělit :-)

        
    neděle 13. prosince 2009 20:58

Všechny reakce

  •  Místo
    if (pole [i, j] / 2 == 1)
    použijte
    if((Controls.count / 2) == 1)
    Potřebujete vydělit počet políček, nikoli objekt typu Button.
    Boris Lehečka (Word, VBA, XML, C#, SQL)
    středa 9. prosince 2009 19:04
  • Co tak to vybarvování řešit jednodušeji:

    bool bila = true;
    for (...)
      for (...)
        {
          ...
          if (bila)
                pole[i,j].BackColor = Color.White;
          else
                pole[i,j].BackColor = Color.Black;
          bila = ! bila;
          ...
         }

    a nemusíte nic počítat ani dělit :-)

        
    neděle 13. prosince 2009 20:58