• 05-06-2010, 15:50:40
    #1
    Üyeliği durduruldu
    arkadaşlar event ile 8x8'lik satranç tahtası oluşturuyorum. oluşan bu 64 butondan herhangi birisine basınca atın oynayabileceği butonların backcolor ı değişiyor. ancak başka butona bastığımızda bu backcolor eski halinegelmiyor. bunu nasıl yapabilirim?

    eventtan önce "Button onceki;" kodunu kullandım ve event içerisinde aşağıdaki kodu kullanınca butonun eski textini gösteriyor. bana eski backcolor lazım. anlıcağınız üzere buton backcolorları 2 farklı renkte ilerliyor bu yüzden kafa karıştı:

    eski texti veren kod:

    Button eski = (Button)sender;
    eski.Text = eski.Tag.ToString();
    onceki = eski;

    teşekkürler..
  • 06-06-2010, 01:16:59
    #2
    Color eskiclr;

    buttonun rengini değiştirdiğin yerde değiştirmeden
    eskiclr = botton1.backcolor;
    yaparsın sonra eski haline geleceği zaman
    botton1.backcolor = eskiclr ;

    vst acmadım denersen buyuk ihtimal ile olur kanısındayım
  • 06-06-2010, 01:51:36
    #3
    Üyeliği durduruldu
    bu şekilde bir dönüştürme hatası alıyorum

    Error	1	Cannot implicitly convert type 'string' to 'System.Drawing.Color'
  • 06-06-2010, 23:26:11
    #4
    yazdığın kodun tamamını görebilirsem eğer bişi diyebilirim nerde nasıl yapıyorsun
  • 07-06-2010, 00:11:52
    #5
    Üyeliği durduruldu
    proje linki ve kodlar bu şekilde..

    link: http://www.speedyshare.com/files/228..._6_Satranc.zip

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Collections;
    
    namespace _6_Satranc
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
                this.ClientSize = new Size(400,400);
                int sayi = 0;
    
                for (int i = 0; i < 8; i++)
                {
                    for (int j = 0; j < 8; j++)
                    {
                        Button kare = new Button();
                        kare.Location = new Point(j * 50, i * 50);
                        kare.Size = new Size(50,50);
                        kare.Tag = (++sayi).ToString();
                        kare.BackColor = ((i + j) % 2 == 0) ? Color.Gray : Color.White;
                        this.Controls.Add(kare);
                        kare.Click += new EventHandler(kare_Click);
                        kare.Text = kare.Tag.ToString();
                    }
                }
            }
    
            Button onceki;
    
            void kare_Click(object sender, EventArgs e)
            {
                Button goster = (Button)sender;
    
                int at_art6, at_art10, at_art15, at_art17, at_eksilt6, at_eksilt10, at_eksilt15, at_eksilt17;
                at_art6 = int.Parse(goster.Text) + 6;
                at_art10 = int.Parse(goster.Text) + 10;
                at_art15 = int.Parse(goster.Text) + 15;
                at_art17 = int.Parse(goster.Text) + 17;
                at_eksilt6 = int.Parse(goster.Text) - 6;
                at_eksilt10 = int.Parse(goster.Text) - 10;
                at_eksilt15 = int.Parse(goster.Text) - 15;
                at_eksilt17 = int.Parse(goster.Text) - 17;         
    
                foreach (Button item in this.Controls)                
                {
                    if (item.Text == at_art6.ToString() || item.Text == at_art10.ToString() || item.Text == at_art15.ToString() || item.Text == at_art17.ToString())
                    {
                        item.BackColor = Color.Aqua;
                        item.Text = "Geri";
                    }
                    else if (item.Text == at_eksilt6.ToString() || item.Text == at_eksilt10.ToString() || item.Text == at_eksilt15.ToString() || item.Text == at_eksilt17.ToString())
                    {
                        item.BackColor = Color.Bisque;
                        item.Text = "İleri";
                    }
                }
    
                //Button goster = (Button)sender;
                //goster.Text = goster.Tag.ToString();
                //onceki = goster;
            }
        }
    }