C# WindowsForm Çekiliş Uygulaması
C# WindowsForm Çekiliş Uygulaması
Daha fazlası için: gorselprogramlama.com
Merhaba ben Abdurrahman ÖNDER. Bu uygulamamızın amacı, dışarıdan girilen hediye ve katılımcıya göre rastgele çekiliş gerçekleştirmektir.
Tasarımımızı aşağıdaki gibi yapalım.
Katılımcı Ekleme Butonu Click_Event yazalım.
private void btnKEkle_Click(object sender, EventArgs e) { if (txtAd.Text.Trim() != "" && txtSoyad.Text.Trim() != "" && txtTel.Text.Trim() != "") { bool add_state = true; foreach (string s in lstKatilim.Items) { string tel = s.Split(' ')[2].ToString(); if (tel == txtTel.Text.Trim()) { add_state = false; break; } } if (add_state) { string ad = txtAd.Text.Trim(); string soyad = txtSoyad.Text.Trim(); string no = txtTel.Text.Trim(); lstKatilim.Items.Add(ad + " " + soyad + " " + no); } else { MessageBox.Show("Numara tekrarı algılandı! Tekrar deneyiniz!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } txtAd.ResetText(); txtSoyad.ResetText(); txtTel.ResetText(); txtAd.Focus(); } }
Hediye Ekleme Butonu Click_Event yazalım.
private void btnHEKle_Click(object sender, EventArgs e) { if (txtHediyeAd.Text.Trim() != "" && txtHediyeTur.Text.Trim() != "" && txtHediyeMarka.Text.Trim() != "" && txtHediyeAdet.Text.Trim() != "") { bool add_state = true; string ad = txtHediyeAd.Text.Trim(); string tur = txtHediyeTur.Text.Trim(); string marka = txtHediyeMarka.Text.Trim(); int adet = Convert.ToInt32(txtHediyeAdet.Text.Trim()); foreach (string s in lstHediye.Items) { if (s == ad + " " + tur + " " + marka + " " + adet.ToString()) { add_state = false; break; } } if (add_state) { for (int i = 0; i < adet; i++) lstHediye.Items.Add(ad + " " + tur + " " + marka + " "); } else { MessageBox.Show("Aynı Hediye Sistemde Mevcut! Tekrar Deneyiniz!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } txtHediyeAd.ResetText(); txtHediyeMarka.ResetText(); txtHediyeTur.ResetText(); txtHediyeAdet.ResetText(); txtHediyeAd.Focus(); } }
Çekiliş Başlatma Butonu Click_Event yazalım.
private void btnBaslat_Click(object sender, EventArgs e) { int hediyeSayisi = lstHediye.Items.Count; if (lstKatilim.Items.Count != 0 && lstHediye.Items.Count != 0) { lstSonuc.Items.Clear(); Random rnd = new Random(); Random rnd2 = new Random(); for (int i = 0; i < hediyeSayisi; i++) { if (lstKatilim.Items.Count != 0) { int hediyeIndex = rnd.Next(0, lstHediye.Items.Count - 1); int katilimIndex = rnd.Next(0, lstKatilim.Items.Count - 1); lstSonuc.Items.Add(lstHediye.Items[hediyeIndex] + " --> " + lstKatilim.Items[katilimIndex]); lstHediye.Items.RemoveAt(hediyeIndex); lstKatilim.Items.RemoveAt(katilimIndex); } } } }
Telefon ve Adet textboxlarının sadece rakam alması için
private void txtTel_KeyPress(object sender, KeyPressEventArgs e) { e.Handled = !char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar); }
Resetleme Butonu Click_Event yazalım.
private void btnReset_Click(object sender, EventArgs e) { lstKatilim.Items.Clear(); lstSonuc.Items.Clear(); lstHediye.Items.Clear(); }
Projeyi indirmek için buraya tıklayınız. Ödev ve Fikir konularında mail atabilirsiniz.
Mail Adresim abdurrahman.onder@ogr.sakarya.edu.tr
Sağlıkla, mutlulukla…