• 15-03-2014, 05:10:11
    #1
    Merhabalar;
    Sizlere C#'da backcolor ile ilgili bir sorum olacak bir yerlerde hata yapıyorum; fakat bulamadım.
    Kısaca konuyu özetleyeyim: kullanıcı bir sayı girecek (1 ile 100 arasında), daha sonra butona tıklayacaktır. Butona tıklanınca, 10 adet, 1 ile 100 arasında rastgele sayı bir array’a yüklenecek, daha sonra da kullanıcının girdiği sayı ile karşılaştırılacaktır. Eğer girilen sayı, bu 10 sayıdan biri ise, o zaman girilen sayını kutusunun arka rengi (backColor) açık yeşil (LightGreen) yapılacaktır. Eğer sayı bulunamadıysa arka alan beyaz olacaktır.
    Benim yaptığımda ise butona tıkladığımda arkaplan yeşil oluyor ve öyle kalıyor.
    Kodlar aşağıdaki gibidir:
            private void buttonTahmin_Click(object sender, EventArgs e)
            {
                tahmin_sayi = Convert.ToInt32(textBoxTahmin.Text);
                if (tahmin_sayi < 0)
                {
                    MessageBox.Show("NEGATİF SAYI GİRİLEMEZ!!");
                }
                else
                {
                    if (tahmin_sayi > 100)
                    {
                        MessageBox.Show("LÜTFEN 0-100 ARASINDA BİR SAYI GİRİNİZ!!");
                    }
                    else
                    {
                        labelTahmin.Text = "";
                        Random RTahmin = new Random();
                        for (int i = 0; i < 10; i++)
                        {
                            tSayi = RTahmin.Next(1, 100);
                            dizitahmin[i] = tSayi;
    
                        }
                        for (int i = 0; i < 10; i++)
                        {
                            labelTahmin.Text = labelTahmin.Text + dizitahmin[i] + "  ";
    
                        }
                        for (int i = 0; i < 10; i++)
                        {
                            if (dizitahmin[i] != tSayi)
                            {
                                textBoxTahmin.BackColor = Color.Green;
                                break;
                            }
                            else
                                textBoxTahmin.BackColor = Color.Red;
                        }
                        labelTahmin.Visible = true;
                    }
                }
            }
  • 15-03-2014, 12:33:25
    #2
    hocam 10 sayıyı üretmişsin, dizitahmin dizisine atmışsın, daha sonra dizideki sayıları labeltahmin e yazdırmışsın yanyana buraya kadar doğru. daha sonraki for'da bir hatan var. diyorsun ki eğer 10 sayıdan 1i kullanıcının girdiği sayı olursa arka plan yeşil olacak değilse beyaz kalacak. şöyle değiştirebilirsin;

    for (int i = 0; i < 10; i++)
                        {
                            if (dizitahmin[i] == tahminSayi) // burada hatan var
                            {
                                textBoxTahmin.BackColor = Color.Green;
                                break;
                            }
                            else
                                textBoxTahmin.BackColor = Color.Red;
                        }
  • 15-03-2014, 13:46:42
    #3
    VoyL adlı üyeden alıntı: mesajı görüntüle
    hocam 10 sayıyı üretmişsin, dizitahmin dizisine atmışsın, daha sonra dizideki sayıları labeltahmin e yazdırmışsın yanyana buraya kadar doğru. daha sonraki for'da bir hatan var. diyorsun ki eğer 10 sayıdan 1i kullanıcının girdiği sayı olursa arka plan yeşil olacak değilse beyaz kalacak. şöyle değiştirebilirsin;

    for (int i = 0; i < 10; i++)
                        {
                            if (dizitahmin[i] == tahminSayi) // burada hatan var
                            {
                                textBoxTahmin.BackColor = Color.Green;
                                break;
                            }
                            else
                                textBoxTahmin.BackColor = Color.White;
                        }
    Hocam teşekkür ederim hata yaptığım yeri buldum sizin yardımınızla. Sınamada dizitahmin[i] == tahmin_sayi değilde aşağıdaki gibi olacak:

    if (tahmin_sayi == dizitahmin[i]) // burada hatan var
    Sabaha karşı 5'te yapınca böyle hatalar oluyor.
  • 15-03-2014, 17:22:09
    #4
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhaba Aynı işi yapan amatör kodlar, yararlı olması dileği ile..
            private void BtnKarsilastir_Click(object sender, EventArgs e)
            {
                LblRandomSayilar.Text = null;
                TbtSayi.BackColor = SystemColors.Window;
                if (String.IsNullOrEmpty(TbtSayi.Text))
                {
                    MessageBox.Show("Lütfen Sayi Griniz.");
                }
                else
                {
    
                    int Sayi = Convert.ToInt32(TbtSayi.Text);
    
                    if (!(Sayi <= 100 && Sayi > 0))
                    {
                        MessageBox.Show("Lütfen Sayiları 0 ile 100 Araısnda Giriniz.");
                    }
                    else
                    {
                        Random Rdn = new Random();
                        int[] Dizi = new int[10];
    
                        for (int i = 0; i < Dizi.Length; i++)
                        {
                            Dizi[i] = Rdn.Next(0, 101);
                        }
    
                        LblGieilenSayi.Text = Sayi.ToString();
    
                        foreach (int Eleman in Dizi)
                        {
                            LblRandomSayilar.Text = LblRandomSayilar.Text + "\n" + Eleman;
                        }
                        for (int i = 0; i < Dizi.Length; i++)
                        {
                            if (Dizi[i] == Sayi)
                                TbtSayi.BackColor = Color.Green;
                        }
                    }
    
                }
            }
  • 15-03-2014, 20:20:43
    #5
    betmo adlı üyeden alıntı: mesajı görüntüle
    Merhaba Aynı işi yapan amatör kodlar, yararlı olması dileği ile..
            private void BtnKarsilastir_Click(object sender, EventArgs e)
            {
                LblRandomSayilar.Text = null;
                TbtSayi.BackColor = SystemColors.Window;
                if (String.IsNullOrEmpty(TbtSayi.Text))
                {
                    MessageBox.Show("Lütfen Sayi Griniz.");
                }
                else
                {
    
                    int Sayi = Convert.ToInt32(TbtSayi.Text);
    
                    if (!(Sayi <= 100 && Sayi > 0))
                    {
                        MessageBox.Show("Lütfen Sayiları 0 ile 100 Araısnda Giriniz.");
                    }
                    else
                    {
                        Random Rdn = new Random();
                        int[] Dizi = new int[10];
    
                        for (int i = 0; i < Dizi.Length; i++)
                        {
                            Dizi[i] = Rdn.Next(0, 101);
                        }
    
                        LblGieilenSayi.Text = Sayi.ToString();
    
                        foreach (int Eleman in Dizi)
                        {
                            LblRandomSayilar.Text = LblRandomSayilar.Text + "\n" + Eleman;
                        }
                        for (int i = 0; i < Dizi.Length; i++)
                        {
                            if (Dizi[i] == Sayi)
                                TbtSayi.BackColor = Color.Green;
                        }
                    }
    
                }
            }
    Hocam teşekkür ediyorum. İnşallah diğer arkadaşlara yararlı olur.