csharp listbox etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
csharp listbox etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

17 Haziran 2013 Pazartesi

Textbox'tan Alınan Sayı Kadar Rasgele Sayı Üretip Listbox'a Ekleme,Sırala,Silme ve Değiştirme - Csharp

Windows Formumuz Aşağıdaki Gibi Olacak;

Bu uygulamada, random sınıfını, dizileri ve listbox yapılarını kullanacağız.

Soru: Textbox'tan alınan bir sayı kadar rastgele sayılar üretilip listbox'a eklenecek. Sonra eklenen bu rastgele sayılar sıralanacak. En son Değiştir butonuna basarak bu sayılar başka rastgele sayılarla yer değiştirecek.

Çözümü:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace uygulama6
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
     public int[] uret;
     public int sayi;
     public int sayac = 0;
        private void btnUret_Click(object sender, EventArgs e)
        {
            sayi = Convert.ToInt32(textBox1.Text);
            uret = new int[sayi];
            Random rdn = new Random();
            listBox1.Items.Clear();
          
            for (int i = 0; i < sayi; i++)
            {
               uret[i]= rdn.Next(1, 1000);
               listBox1.Items.Add(uret[i]);

              
            }
            //textBox1.Text = "";
        }

        private void btnSirala_Click(object sender, EventArgs e)
        {
            listBox1.Items.Clear();
            Array.Sort(uret);
            for (int i = 0; i < sayi; i++)
            {
                listBox1.Items.Add(uret[i]);
            }

        }

        private void btnSil_Click(object sender, EventArgs e)
        {
        
            listBox1.Items.Remove(listBox1.SelectedItem);
        }

        private void btnDegistir_Click(object sender, EventArgs e)
        {
            listBox1.Items.Clear();
            sayi = Convert.ToInt32(textBox1.Text);
            uret = new int[sayi];
            Random rdn = new Random();
            listBox1.Items.Clear();

            for (int i = 0; i < sayi; i++)
            {
                uret[i] = rdn.Next(1, 1000);
                listBox1.Items.Add(uret[i]);


            }

         
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {

        }
    }
}
Kod Açıklaması:
public int[] uret;
     public int sayi;
     public int sayac = 0;
        private void btnUret_Click(object sender, EventArgs e)
        {
            sayi = Convert.ToInt32(textBox1.Text);
            uret = new int[sayi];
            Random rdn = new Random();
            listBox1.Items.Clear();
          
            for (int i = 0; i < sayi; i++)
            {
               uret[i]= rdn.Next(1, 1000);
               listBox1.Items.Add(uret[i]);

              
            }
            //textBox1.Text = "";
        }
İlkönce textbox'a girilen değeri convert toint32 metodu kullanarak integer bir değere çevirdik ve sayi isminde bir değişkene atadık. Demekki bizim dizimizin eleman sayısı bu textbox'a girilen değer kadar olacak. Bunu şöyle yaptık;    uret = new int[sayi]; Bundan sonra random sınıfını kullanarak bir nesne ürettik. Listbox'ımıza bu üretilecek sayıları eklemeden önce; listBox1.Items.Clear(); listbox'a bulunan verileri(items) clear metodu kullanarak temizledik. Belki daha önceden veri eklenmiştir. Veya ratgele sayı ürettik bir defa üret butonuna bastığımızda eger daha önce verileri varsa onların üzerine ekleyecek. O yüzden işi sağlama aldık önceden veri olsada olmasada verileri temizledik. Gelelim artık ürettiğimiz sayıları bir diziye atıyalım sonra bu dizinin elemanlarını listbox'a eklemiş olacağız. Bunları yapmak için bir for döngüsü kuruyoruz. Bizim döngümüz textbox'a girilen sayı kadar döngümüz dönecek. uret[i]= rdn.Next(1, 1000); rnd diye bir nesne yaratmıştık. bu nesne 1,1000 arsında bir sayı üretecek ve bu sayı bizim dizimizin i. elemanına eklenecek. Döngüde 3. defa dönüyor. ozaman üretilen sayı dizimizin[3] 3 nolu indeksine ekleniyor. Şimdi sıra dizimizdeki i. elemanının tuttuğu sayıyı listbox'a eklemeye geldi. listBox1.Items.Add(uret[i]); bu kod ile dizinin i. elemanının tuttuğu sayıyı listbox'ın itemlerina verilerine add metodu ile ekleniyor.

Sırala Butonuna basılınca veriler sıralanacak;

            listBox1.Items.Clear();
            Array.Sort(uret);
            for (int i = 0; i < sayi; i++)
            {
                listBox1.Items.Add(uret[i]);
            }
Sıralanırken önceki verilerin üzerine sıralı verileri eklememek ve son sıralanmış halini eklemek için öncelikle listbox'ta olan itemleri temizliyoruz. Bunu clear metodu ile yapıyoruz. listBox1.Items.Clear();
Şimdi bizim dizimiz rastgele sayıları adı üstünde rastgele üretildiği sıra ile tutuyor. Bunları düzenli hale getirmek çok kolay. Array sınıfında sort diye bir metod var. Bu metod dizinin içindeki elemanları sıralı hale getiriyor.  Kullanımı şu şekildedir: Array.Sort(uret); array.sort(dizimizin ismi)
peki sıralanmış haldeki dizinin elemanlarını yeniden listbox'a ekliyelim. Bunun için yine for döngüsü kullanıyoruz. For döngüsü yine textbox'a girilen sayının değeri kadar yani bu aynı zamanda dizimizin eleman sayısına eşittir. DÖngü her döndüğünde listbox'ın itemlarina dizinin[i] elamanın değerini add metodu ile ekliyoruz.

Şimdi seçtiğimiz bir veriyi listbox'tan silmeye geldi.
listBox1.Items.Remove(listBox1.SelectedItem); Evet kod çok kısa :) burada diyorki listbox'ta seçili olan item yani veriyi nerden atacak. Yine listbox'ın itemlerinda remove çıkaracağız sileceğiz.

Değiştirme yapacağımız zaman aslında bir nevi yeniden rastgele sayı üretmiş olacağız. Üret butonundaki kodların ve mantığın aynısı :)

Uygulamayı Buradan indirebilirsiniz: https://hotfile.com/dl/229152034/6913280/uygulama6.rar.html


21 Mayıs 2013 Salı

Csharp - Listboxtan veri ekleme ve taşıma

Windows uygulamasında eklenen listboxlara veri ekleme ve bu eklenen verileri bir listboxtan diğerine taşıma işlemi yapma

******************************---------------------------*****************************
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;

namespace _24SubatListRemove
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //önce kodunumuz çalışacak kodlarımızı try-catch içine yazıyoruz
            //çalışacak kodlarımızı try'ın içine yazıyoruz
            //eğer hata varsa bu catch'in içine düşüyor orada hata mesajı verdiriyoruz.
            try
            {
                 if (textBox1.Text == "")
            {
                MessageBox.Show("Boş Bırakılamaz");
            }
                 else
                 {
//textbox'a girilen değeri int değişken tipini dönüştürüp
//bu değeri listbox1'e ekliyoruz. sonra textbox'ı boşaltıyoruz
                     int a = Convert.ToInt32(textBox1.Text);
                     listBox1.Items.Add(a.ToString());
                     textBox1.Text = "";
                 }
            }
            catch
            {
                //girilen değer int tipinden farklı ise uyarı mesajı ekrana geliyor.
                MessageBox.Show("interger değer giriniz");
            }
          
          
        }

        private void button2_Click(object sender, EventArgs e)
        {
//listbox1 de seçilen değeri listbox2 aktarıyoruz aynı zamanda
//listbox'ın remove komutu ile listbox1 den o seçilen değeri kaldırıyoruz
            listBox2.Items.Add(listBox1.SelectedItem);
            listBox1.Items.Remove(listBox1.SelectedItem);
        }

        private void button3_Click(object sender, EventArgs e)
        {//aynı işlemi listbox2 den seçili değeri kaldırıp listbox1 e aktarıyoruz
            listBox1.Items.Add(listBox2.SelectedItem);
            listBox2.Items.Remove(listBox2.SelectedItem);

        }

        private void button4_Click(object sender, EventArgs e)
        {
//hesapla butonuna bastığımızda, listbox2 deki değerleri sıralı ile dolaşıp for döngüsü ile
//i. sıradaki değeri alıp t değişkenine atıyoruz ve sıra ile topluyoruz.
//sonucunda listbox2 deki tüm değerleri toplayıp ekrana sonucu yazdırıyoruz.
            int y = 0;
            for (int i = 0; i < listBox2.Items.Count; i++)
            {
                y = y + Convert.ToInt32(listBox2.Items[i]);
            }
            MessageBox.Show(y.ToString());
        }
    }
}
**************************--------------------------*****************************
örnek çalışmayı buradan indirebilirsiniz: http://hotfile.com/dl/108701696/dd9989f/24SubatListRemove.rar.html

19 Mayıs 2013 Pazar

Kronometre Uygulaması - Csharp

Kronometre uygulaması için formumuza 1 textbox, combobox ve listbox ekliyoruz. 1 label, 2 buton ve 1 timer ekliyoruz. Textbox'a biz kronometrenin kaçtan geri sayım yapacağını belirtmemiz için sayı gireceğiz. Combobox'tan kronometrenin hızını seçeceğiz. Label'da geri sayım olacak ve saniyeler oraya yazılacak. Listbox'a ise kronometrenin ne zaman başladığı yazılacak.
/************************************---------------------------------------------------*********************************************/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace kronometre
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        public int KalanSure;

        private void button1_Click(object sender, EventArgs e)
        {
            //Başla Butonu
//kronometrenin kaçtan geri sayım yapacağını textbox'a girilen sayıyı alacağız
            KalanSure = System.Convert.ToInt32(txtSure.Text);
            lbSure.Text = System.Convert.ToString(KalanSure);
//kronometrenin ne zaman başladığı listbox'a eklenecek
            lbKayit.Items.Add("Kronometre başladı:" + DateTime.Now.TimeOfDay.ToString());
//timer'ın hangi aralıklarla tetikleneceği combobox'daki seçilen değere göre olacak
            timer1.Interval = System.Convert.ToInt32(comboBox1.Text);
            timer1.Start();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            //Dur butonu
            timer1.Stop();
            lbKayit.Items.Add("Kronometre Durduruldu:" + DateTime.Now.TimeOfDay.ToString());
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
//timer her tetiklenmesinde labelda olan kalan süre 1 azalacak
            KalanSure = KalanSure - 1;
            lbSure.Text = System.Convert.ToString(KalanSure);

            if (KalanSure == 0)
            {
//kalan süre 0 olunca kronometrenin çalışması duracak
                timer1.Stop();
                lbKayit.Items.Add("Süre Doldu" + DateTime.Now.TimeOfDay.ToString());
                MessageBox.Show("Süren Doldu Görmüyormusun");
             
            }
        }
    }
}
çalışmayı buradan indirebilirsiniz: https://hotfile.com/dl/189709009/9c7b7e9/kronometre.rar.html
Google PageRank Checker Powered by  MyPagerank.Net