Mustafa Kemal Üniversitesi Bilgisayar Mühendisliği Bölümü Ders Materyal Ve Notları

Sponsor

c# fonksyonlar etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
c# fonksyonlar etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

18 Mart 2014 Salı

C# Notlarım

Posted by samgar at 06:30 0 Comments
Anonim Sınıflar
Anonim sınıfların hepsi object'ten kalıtırlar. Başka bir sınıftan kalıtmak mümkün değildir.

Auto Property
Getter ve Setter modifier alabiliyor. Örnek:
public string foo { get; private set; }
Exception
C# dilinde exception'lar hep birbirlerini sarmalayacak şekilde kullanılıyor. Sebebi ise üst katmanlara doğru çıktıkça alttaki detaylı SQLException yerine StorageException şeklinde daha genel bir hataların kullanılması. Böylece üst katman altta veritabanı yerine başka bir teknoloji kullanılsa bile etkilenmiyor.

Explicit Interface
Arayüz'den kalıtan sınıf arayüzün gerektirdiği metodları saklar. Örnek:

interface IFoo
{
   void Foo();
}
class FooImplementation : IFoo
{
   void IFoo.Foo()
   {
   }
}
Named Arguments
Posizyon ile verilen parametrelerden sonra Named Arguments kullanılabilir. Named argument için önce parametre adı sonra iki nokta üstüste kullanılıyor. Örnek'te fontColour ve fontFamily isim ile geçilmiş
myMethod("SomeString" , fontColour: "blue", fontFamily: "Tahoma")
Null Coalescing (null birleştirme)
C# ile null coalescing operatörü kullanılabilir. Örnek:
MyName = s.MyName ?? string.Empty

Switch/Case
C#'ta Delphi'deki gibi aralık verilemiyor!
Case Total of
    80..100 : ShowMessage ('You got an A!');
    60..79  : ShowMessage ('You got a B!');
    50..59  : ShowMessage ('You got a C!');
    40..49  : ShowMessage ('You got a D!');
    0..39   : ShowMessage ('You got an E...'); 
  end;
Veri Yapıları
Dictionary
OrderedDictionary veriyi tree gibi sıralı tutar.

Thread Safe Veri Yapıları
Bu sınıflar System.Collections.Concurrent altında bulunuyor
BlockingCollection
ConcurrentBag
ConcurrentDictionary
ConcurrentDictionary
ConcurrentQueue
ConcurrentStack


18 Şubat 2014 Salı

C# - TextBox maksimum uzunluk, yazı uzunluğu ve kalan karakter sayısı hesabı

Posted by samgar at 14:04 0 Comments
Birkaç haftalık aradan sonra yeni yazılar yazmaya başlıyorum. Bu yazımda C#'ta TextBox için maksimum uzunluğun belirlenmesini (MaxLength), textbox'a girilen yazının uzunluğunun (TextLength) hesaplanmasını ve Twitter'da olduğu gibi kalan karakter sayısının hesaplanmasını anlatacağım.

İlk olarak yeni bir form oluşturuyorum ve aşağıdaki gibi form elemanlarımı ekliyorum.



İlk olarak formuma çift tıklayarak Form1_Load olayına gidiyorum.

private void Form1_Load(object sender, EventArgs e)
        {
            label3.Text = textBox1.MaxLength.ToString();
        }

Bu kod ile label3 yerine textBox1 için izin verilen maksimum uzunluğu yazdırıyorum.

Ardından textBox'ın TextChanged olayına aşağıdaki resimde olduğu gibi TB_Degisim fonksiyonunu ekliyorum.


Şimdi TB_Degisim fonksiyonunu oluşturuyorum ve içine aşağıdaki kodları yazıyorum.

public void TB_Degisim(object sender, EventArgs e)
        {
            label4.Text = textBox1.TextLength.ToString();
            label6.Text = (textBox1.MaxLength - textBox1.TextLength).ToString();
        }

Programımı çalıştırıyorum. TextBox'a herhangi birşey yazdığımda programın çalıştığını görüyorum.




27 Ocak 2014 Pazartesi

C# uygulamalarında Caps Lock tuşu kontrolü

Posted by samgar at 12:42 0 Comments
C# ile geliştirilen uygulamalarda Caps Lock tuşunun açık veya kapalı olduğunu nasıl göstereceğimizi anlatacağım.

Yeni bir Windows Form uygulaması oluşturuyorum ve görseldeki gibi 1 button ve 1 label ekliyorum. Butona tıklandığında Caps Lock durumunu label'a yazdıracağım.


Şimdi butona çift tıklayarak kod sayfama gidiyorum.


System.Runtime.InteropServices sınıfını projeme ekliyorum.

Resimdeki kısma aşağıdaki kodu yazıyorum.

[DllImport("user32.dll")]
        static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, UIntPtr dwExtraInfo);
        const int KEYEVENTF_EXTENDEDKEY = 0x1;
        const int KEYEVENTF_KEYUP = 0x2;



Daha sonra buttonumun click eventının içine aşağıdaki kodu yazıyorum.

if(Control.IsKeyLocked(Keys.CapsLock) )
{
label1.Text="Açık";
}
else
{
label1.Text="Kalpalı";
}

Uygulamamı çalıştırıyorum ve butona tıklıyorum. Sonuç olarak Caps Lock açık veya kapalı mesajını gösteriyor.


Caps Lock tuşunu program üzerinden kapatma


Eğer Caps Lock açık ise ve bunu program üzerinden kapatmak istiyorsak aşağıdaki satırları eklememiz yeterli olacaktır.

keybd_event(0x14, 0x45, KEYEVENTF_EXTENDEDKEY, (UIntPtr) 0);
            keybd_event(0x14, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,
                (UIntPtr) 0);



26 Ocak 2014 Pazar

Asp.NET (C#) ping atma işlemi nasıl yapılır ?

Posted by samgar at 21:59 0 Comments
Bu yazıda Asp.NET'te ping atma işleminin nasıl gerçekleştirileceğini anlatacağım.

Ping; ağ üzerinde bulunan aygıtların erişilebilirliğini test etmek için Internet Control Message Protocol (ICMP) kullanan bir uygulamadır.

Bu işlemi Asp.NET'te gerçekleştirebilmek için aşağıdaki adımları izliyorum.

Öncelikle yeni bir Web Form oluşturuyorum.

Oluşturmuş olduğum formuma aşağıdaki gibi 1 textbox, 1 button ve 3 label ekliyorum.

Daha sonra butona çift tıklayarak C# kodlarımı yazacağım sayfaya gidiyorum ve System.Net.NetworkInformation sınıfını ekliyorum. Buttonumun click eventına aşağıdaki kodları yazıyorum.

        Ping _ping = new Ping();
        PingReply _cevap = _ping.Send(TextBox1.Text);

        if (_cevap.Status == IPStatus.Success)
        {
            Label1.Text = Label1.Text + " " + _cevap.Address.ToString();
            Label2.Text = Label2.Text + " " + _cevap.RoundtripTime.ToString();
            Label3.Text = Label3.Text + " " + _cevap.Options.Ttl.ToString();
        }

        else if (_cevap.Status == IPStatus.TimedOut)
        {
            Label1.Text = ("Sorgu zaman aşımına uğradı.");
        }

İlk satırda Ping sınıfından bir nesne türetiyorum. İkinci satırda textbox'a girilen değeri oluşturmuş olduğum nesne yardımıyla PingReply sınıfından ping cevabı olarak türetiyorum.

İf şartıyla cevabı kontrol ediyorum. Eğer IP adresine erişildiyse label'lara uygun değerleri ekliyorum. Eğer zaman dolarsa 1.label'a sorgu zaman aşımına uğradı yazdırıyorum.

Sayfayı çalıştırıp blogger.com yazdığımda aşağıdaki gibi bilgilere ulaşıyorum.


30 Aralık 2013 Pazartesi

C# - ListBox'taki değerlerin toplamını ve ortalamasını bulma

Posted by samgar at 15:42 0 Comments
C#'ta listbox içindeki sayıların ortalamasını alan programın nasıl yazılacağını anlatacağım.

Yeni bir form oluşturuyorum ve içine bir ListBox ekliyorum.


Şimdi listbox'a birkaç tane eleman ekliyorum.


Bir buton ekliyorum ve butonun click eventına kodları yazmaya başlıyorum.


Öncelikle int türünde toplam adında bir değişken oluşturuyorum. Başlangıç değerini 0 yapıyorum. double türünde de ortalama adında bir değişken oluşturuyorum. ortalama değişkeninin türünün double olmasının sebebi küsüratlı sayı olabilme ihtimali.

int toplam = 0;
double ortalama;

Daha sonra bir for döngüsü oluşturuyorum. Döngü sıfırdan başlayarak listbox'ın eleman sayısına kadar gidiyor.

Eleman sayısını bulmak için listBox1.Items.Count komutunu kullanıyorum.

for (int i = 0; i < listBox1.Items.Count; i++)

Şimdi yapmam gereken döngü içerisinde elemanları tek tek toplam değişkenine eklemek.

listBox elemanlarını alırken listBox1.Items[i] komutunu kullanıyorum.

for (int i = 0; i < listBox1.Items.Count; i++)
            {
                toplam = toplam + Convert.ToInt32(listBox1.Items[i]);
            }

Toplama işlemini gerçekleştirdim. Artık sadece ortalamayı bulmak kaldı.

ortalama = toplam / listBox1.Items.Count;  koduyla ortalamayı buluyorum.

MessageBox.Show("Ortalama : " + ortalama.ToString()); komutuyla da bulduğum ortalamayı gösteriyorum.

Programı çalıştırıp butona tıkladığımda ortalama gösteriliyor.


Kodun tamamı


private void button1_Click(object sender, EventArgs e)
        {
            int toplam = 0;
            double ortalama;

            for (int i = 0; i < listBox1.Items.Count; i++)
            {
                toplam = toplam + Convert.ToInt32(listBox1.Items[i]);
            }

            ortalama = toplam / listBox1.Items.Count;

            MessageBox.Show("Ortalama : " + ortalama.ToString());
        }

20 Aralık 2013 Cuma

C# ile MySQL veritabanına kayıt ekleme (insert)

Posted by samgar at 22:18 0 Comments
Daha önce C# ile MySQL bağlantısı kurma işlemini anlatmıştım. Şimd de MySQL veritabanına veri ekleme işlemini anlatacağım.

Yeni bir form oluşturuyorum ve form elemanlarımı ekliyorum.


Daha önceki konuda oluşturduğum DB.cs dosyasına gidiyorum ve veri ekleme fonksiyonumu yazıyorum.

public bool veriekle(string adsoyad, string sifre, string sehir)
        {
            try
            {
                baglanti.Open();
                string komut = "insert into kullanicilar(adsoyad,sifre,sehir) values('" + adsoyad + "', '" + sifre + "', '" + sehir + "')";
                MySqlCommand kmt = new MySqlCommand(komut, baglanti);
                kmt.ExecuteNonQuery();
                return true;
                //Veritabanına veriler eklenirse "true" değeri gönderecek
            }

            catch (Exception)
            {
                return false;
                //Veriler eklenmezse "false" değeri dönecek
            }
        }

Fonksiyonu yazdım. Şimdi oluşturmuş olduğum formda butona çift tıklıyorum ve oraya da aşağıdaki kodları yazıyorum.

private void button1_Click(object sender, EventArgs e)
        {
            DB mysql = new DB();
            bool sonuc = mysql.veriekle(textBox1.Text, textBox2.Text, comboBox1.SelectedItem.ToString());

            if (sonuc == true)
            {
                MessageBox.Show("Eklendi");
            }

            else 
            {
                MessageBox.Show("Hata");
            }
        }

DB sınıfından bir nesne türettim ve veriekle fonksiyonuna girilen bilgileri gönderdim.

Şimdi programı çalıştırıyorum.


Bilgileri girdikten sonra Ekle butonuna tıklıyorum.


Görüldüğü gibi program çalışıyor.



Veritabanına da bilgiler eklendi.




10 Aralık 2013 Salı

Asp.NET CssClass özelliği ve kullanımı

Posted by samgar at 12:51 0 Comments
Bu yazıda Asp.NET'te CssClass özelliğini kullanarak sayfamıza eklediğimiz button, textbox gibi kontrolleri CSS kodları yardımıyla görsel açıdan daha güzel hale getirmeyi anlatacağım.

HTML'de nasıl ki inputlar için class parametresini kullanıyorsak, Asp.NET'te de CssClass parametresini kullanıyoruz.

Default.aspx adında bir sayfa oluşturalım ve sayfamıza bir adet textbox ekleyelim.

Kod kısmına baktığımızda

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> şeklinde bir kod görüyoruz.

CssClass="tb" kodunu ekliyorum.

<asp:TextBox ID="TextBox1" CssClass="tb" runat="server"></asp:TextBox>

Sayfamın <title></title> etiketlerinin altına

<style>
        .tb {
            background-color: gray;
            background-image: url(arama.png);
            background-repeat: no-repeat;
            background-position: 5px;
            height: 25px;
            border: 1px solid red;
            padding-left: 35px;
            color: white;
        }
 </style>

kodunu yazıyorum.

Sayfayı tarayıcıda açtığımda aşağıdaki gibi CSS kodlarıyla düzenlenmiş textbox ile karşılaşıyorum.




4 Kasım 2013 Pazartesi

C# - MySQL veritabanından DataGridView ile veri çekme

Posted by samgar at 21:13 0 Comments
Daha önce C# ile MySQL veritabanı bağlantısı kurmayı ve MySQL veritabanından veri çekmeyi anlatmıştım. Bu sefer MySQL veritabanından çekilen verileri DataGridView ile görüntülemeyi anlatacağım.


Yukarıdaki yazıdan C# ile MySQL veritabanına nasıl bağlanıldığını öğrenebilirsiniz.

Yeni bir proje oluşturuyorum ve MySQL referansımı ekliyorum.



Ardından sayfayama DataGridView ekliyorum ve Form1_Load içine kodlarımı  yazmaya başlıyorum.

İlk olarak veritabanı bağlantımı kurup bağlantıyı açıyorum.

 MySqlConnection baglanti = new MySqlConnection("Server=localhost;Database=blog;Uid=root;Pwd='';");

 baglanti.Open();

Ardından MySqlDataAdapter ile select komutumu çalıştırıyorum.

MySqlDataAdapter da = new MySqlDataAdapter(komut, baglanti);

Yeni bir DataTable oluşturuyorum. İçindekileri DataAdapter içine atıyorum.

DataTable dt = new DataTable();
da.Fill(dt);

Son olarak DataTable içindekileri datagridview'e aktarıyorum.

dataGridView1.DataSource = dt;

Kodun tamamı



Program çalıştığında veriler çekilmiş oluyor.


3 Kasım 2013 Pazar

C'ta textboxa girilen sayıyı yazıyla yazdırma

Posted by samgar at 22:27 0 Comments
Bu yazıda textboxa girilen sayıyı ekrana okunuşuyla beraber yazdırmayı anlatacağım. Yani textboxa 678 sayısını girip butona tıkladığımızda labelda altı yüz yetmiş sekiz yazacak.

Programı yazarken hatırlatmam gereken işlem, kalanı bulmaya yaran % işlemi. Örneğin 12 % 5 yaparsak 2 değerini elde ederiz.

Yazdığım program binler basamağına kadar, yani en fazla dört basamaklı sayıları yazdırıyor ancak tabi ki de bu kolayca geliştirilebilir.

İlk olarak formuma bir textbox, bir button ve bir de label ekliyorum.



Ardından butonuma çift tıklayarak kodları yazmaya başlıyorum.

İlk olarak textboxın içindeki değeri integera çeviriyorum.

int sayi = Convert.ToInt32(textBox1.Text);

Ardından binler, yuzler, onlar ve birler adında integer değişkenler oluşturuyorum.

int binler, yuzler, onlar, birler;

Şimdi en önemli kısma geldik. Binler basamağını bulmak için sayıyı 1000'e bölüyorum. Örneğin sayım 8943 ise bana 8 değerini verecek. Yani binler basamağını bulacağım.

binler = sayi / 1000;

Ardından yüzler basamağını bulmak için önce sayıyı 100'e bölüyorum. Yani 8943 / 100 işleminden bana 89 sayısını veriyor. Bunu da 89 % 10 yapıyorum ve böylece 9 değerini yani yüzler basamağını buluyorum.

yuzler = (sayi / 100) % 10;

Onlar basamağını bulmak için de yüzler basamağındakine benzer işlem yapıyorum.

onlar = (sayi / 10) % 10;

Son olarak da birler basamağını buluyorum. Sayının 10'a bölümünden kalanı bularak birler basamağını elde ediyorum.

birler = sayi % 10;

Şimdi ekrana yazdırmaya geldi. Switch - case komutunu kullanıyorum.

Binler basamağı için


switch (binler)
            {
                default: return;
                case 0: label1.Text = label1.Text + ""; break;
                case 1: label1.Text = label1.Text + "bin"; break;
                case 2: label1.Text = label1.Text + "iki bin"; break;
                case 3: label1.Text = label1.Text + "üç bin"; break;
                case 4: label1.Text = label1.Text + "dört bin"; break;
                case 5: label1.Text = label1.Text + "beş bin"; break;
                case 6: label1.Text = label1.Text + "altı bin"; break;
                case 7: label1.Text = label1.Text + "yedi bin"; break;
                case 8: label1.Text = label1.Text + "sekiz bin"; break;
                case 9: label1.Text = label1.Text + "dokuz bin"; break;
            }

Yüzler basamağı için


switch (yuzler)
            {
                default: return;
                case 0: label1.Text = label1.Text + ""; break;
                case 1: label1.Text = label1.Text + " yüz"; break;
                case 2: label1.Text = label1.Text + " iki yüz"; break;
                case 3: label1.Text = label1.Text + " üç yüz"; break;
                case 4: label1.Text = label1.Text + " dört yüz"; break;
                case 5: label1.Text = label1.Text + " beş yüz"; break;
                case 6: label1.Text = label1.Text + " altı yüz"; break;
                case 7: label1.Text = label1.Text + " yedi yüz"; break;
                case 8: label1.Text = label1.Text + " sekiz yüz"; break;
                case 9: label1.Text = label1.Text + " dokuz yüz"; break;
            }

Onlar basamağı için


switch (onlar)
            {
                default: return;
                case 0: label1.Text = label1.Text + ""; break;
                case 1: label1.Text = label1.Text + " on"; break;
                case 2: label1.Text = label1.Text + " yirmi"; break;
                case 3: label1.Text = label1.Text + " otuz"; break;
                case 4: label1.Text = label1.Text + " kırk"; break;
                case 5: label1.Text = label1.Text + " elli"; break;
                case 6: label1.Text = label1.Text + " altmış"; break;
                case 7: label1.Text = label1.Text + " yetmiş"; break;
                case 8: label1.Text = label1.Text + " seksen"; break;
                case 9: label1.Text = label1.Text + " doksan"; break;
            }

Birler basamağı için


switch (birler)
            {
                default: return;
                case 0: label1.Text = label1.Text + ""; break;
                case 1: label1.Text = label1.Text + " bir"; break;
                case 2: label1.Text = label1.Text + " iki"; break;
                case 3: label1.Text = label1.Text + " üç"; break;
                case 4: label1.Text = label1.Text + " dört"; break;
                case 5: label1.Text = label1.Text + " beş"; break;
                case 6: label1.Text = label1.Text + " altı"; break;
                case 7: label1.Text = label1.Text + " yedi"; break;
                case 8: label1.Text = label1.Text + " sekiz"; break;
                case 9: label1.Text = label1.Text + " dokuz"; break;
            }

Programdan görüntü



C# for döngüsü ile ComboBox içine sayı yazdırma

Posted by samgar at 14:54 1 Comment
Bu yazıda ComboBox içerisine for döngüsü ile sayıları yazdırmayı anlatacağım. Çok çeşitli durumlarda kullanmanız gerekebilir. Örneğin plaka kodlarını yazdırmanız gerektiğinde kullanabilirsiniz. Ben de bu yazıda 1-81 arası sayıları yazdıracağım.

İlk olarak projemi oluşturuyorum ve bir ComboBox ekliyorum.


Form1_Load içerisine gidiyorum ve kodlarımı yazmaya başlıyorum.

i=1 den başlayarak <=81 olana kadar i'nin 1 arttığı for döngüsü oluşturuyorum.

Yeni item eklemek için de comboBox1.Items.Add komutunu kullanıyorum.

 for (int i = 1; i <= 81; i++)
            {
                comboBox1.Items.Add(i);
            }

Programı çalıştırdığımda aşağıdaki gibi itemların listelendiğini görüyorum.



1 Kasım 2013 Cuma

C# Hesap Makinesi yapımı

Posted by samgar at 15:34 0 Comments
C# öğrenmeye başlayan neredeyse herkesin karşısına hesap makinesi yapımı çıkar. Ben de bu yazıda C# ile basit bir hesap makinesinin nasıl yapıldığını anlatacağım.

Yapacağım hesap makinesinde butonları statik olarak oluşturduğumu söylemem gerekiyor. Çünkü bazen dinamik olarak hesap makinesi yapımı da istenebiliyor. Onu da daha sonraki yazılarımda anlatacağım.

İlk olarak yeni bir form oluşturuyorum ve aşağıdaki gibi butonlarımı ve textboxımı yerleştiriyorum.



1 yazan butona tıklıyorum ve içine aşağıdaki kodu yazıyorum.


textBox1.Text = textBox1.Text + "1";

Bu işlemi sırasıyla sayıların bulunduğu diğer butonlara da uyguluyorum.

Şimdi sayfama sayi, islem ve sonuc adında 3 tane integer değişken ekliyorum.


Şimdi toplama butonuna çift tıklıyorum ve aşağıdaki kodları yazıyorum.

sayi = Convert.ToInt32(textBox1.Text);
textBox1.ResetText();
islem = 1;

Bu kodlarda textbox içindeki değeri integera çevirerek sayi değişkenine atıyorum ve ardından textboxı resetliyorum.

Şimdi aynı işlemi çıkarma, çarpma ve bölme işlemi için yapıyorum.

Çıkarma işleminde islem = 2;
Çarpma işleminde islem = 3;
Bölme işleminde islem = 4; yapıyorum.

Şimdi Hesapla butonuna çift tıklayarak içine aşağıdaki kodları yazıyorum.

int tb = Convert.ToInt32(textBox1.Text);

            if (islem == 1) 
            {
                sonuc = sayi + tb;
            }
            else if (islem == 2) 
            {
                sonuc = sayi - tb;
            }
            else if (islem == 3)
            {
                sonuc = sayi * tb;
            }
            else if (islem == 4)
            {
                sonuc = sayi / tb;
            }

            textBox1.ResetText();
            textBox1.Text = sonuc.ToString();

Böylelikle basit bir hesap makinesi yapmış oluyorum.

Asp.NET (C#) ile MS-SQL bağlantısı kurma

Posted by samgar at 11:42 0 Comments
Daha önce C# ile MySQL bağlantısının nasıl kurulduğunu anlatmıştım. Bu yazımda da MS-SQL (Microsoft SQL Server) bağlantısının nasıl kurulacağını anlatacağım.

İlk olara sayfamın üstüne aşağıdaki satırları ekliyorum.

using System.Data;
using System.Data.SqlClient;



 SqlConnection baglanti = new SqlConnection("Server=localhost;Database=database;Uid=root;Pwd=sifre;");

Yukarıdaki kodla bağlantımı oluşturuyorum.

Daha sonra try - catch yardımıyla bağlantımın kurulup kurulmadığını öğreniyorum.

try
        {
            baglanti.Open();
            Label1.Text = "Bağlantı başarılı";
        }

        catch (Exception) 
        {
            Label1.Text = "Hata !!!";
        }

Eğer bağlantım başarılıysa ekrana "Bağlantı başarılı" mesajı yazılacak.


Resimde de görüldüğü gibi bağlantımda bir hata bulunmuyor.

Kodun tamamı

protected void Page_Load(object sender, EventArgs e)
    {
         SqlConnection baglanti = new SqlConnection("Server=localhost;Database=database;Uid=root;Pwd=sifre;");

        try
        {
            baglanti.Open();
            Label1.Text = "Bağlantı başarılı";
        }

        catch (Exception) 
        {
            Label1.Text = "Hata !!!";
        }
    }

31 Ekim 2013 Perşembe

C# dinamik button oluşturma

Posted by samgar at 16:35 0 Comments
Bu yazıda C#'ta Windows Form Application'da dinamik olarak button oluşturma işlemini anlatacağım. 0'dan 9'a kadar olan sayıları dinamik olarak buton şeklinde ekranda göstereceğim.

İlk olarak yeni bir Windows Form Application projesi oluşturuyorum ve çift tıklayarak Form1_Load kısmına gidiyorum.

0'dan 9'a kadar olan sayıları listeleyeceğim için bir for döngüsü oluşturuyorum. Döngü 0'dan başlayıp <10 olana kadar devam edecek.


for (int i = 0; i < 10; i++)
{
              
}

Döngümün içerisine kodlarımı yazmaya başlıyorum. İlk olarak Button sınıfından bir nesne türetmem gerekiyor.

Button btn = new Button(); koduyla nesnemi türetiyorum.

Buttonun konumunu ayarlamak için Location özelliğini kullanıyorum.

btn.Location = new System.Drawing.Point(10, i * 25 + 10); kodunu yazarak butonun konumunu ayarlıyorum.

Butonun adı için Name özelliğini kullanıyorum.

btn.Name = "btn_" + i.ToString(); koduyla butonlara isim veriyorum. btn_0, btn_1 şeklinde btn_9'a kadar devam edecek.

Buton boyutu için Size özelliğini kullanıyorum.

btn.Size = new System.Drawing.Size(30, 20); koduyla butonun genişliğini (width) 30 pixel, yüksekliğini (height) de 20 pixel yapıyorum.

Butonun üzerinde yer almasını istediğim yazıyı Text komutuyla oluşturuyorum.

btn.Text = i.ToString(); butonlarımın üzerinde rakamlar yer alacak.

Son olarak da this.Controls.Add(btn); koduyla butonumu ekliyorum.

Kodun tamamı

for (int i = 0; i < 10; i++)
            {
                Button btn = new Button();

                btn.Location = new System.Drawing.Point(10, i * 25 + 10);
                btn.Name = "btn_" + i.ToString();
                btn.Size = new System.Drawing.Size(30, 20);
                btn.Text = i.ToString();
                this.Controls.Add(btn);
}



Asp.NET ile Gmail / Yandex Mail üzerinden e-posta gönderme

Posted by samgar at 10:06 0 Comments
Bu yazıda MailMessage sınıfı kullanılarak nasıl mail gönderileceğini anlatacağım. Gmail ya da Yandex Mail'den bir e-posta adresi alalım ve kodlarımızı yazmaya başlayalım.

Mail gönderebilmek için kullanacağımız MailMessage sınıfının aktif olabilmesi için using System.Net ve
using System.Net.Mail kodlarımızı ekliyoruz.


Sayfama isim, konu ve içerik olmak üzere 3 tane textbox ve bir tane de button ekliyorum.

Eklediğim buttonun click eventına kodlarımı yazmaya başlıyorum.


MailMessage mesaj = new MailMessage();

Bu kod ile MailMessage sınıfından mesaj adında bir nesne oluşturdum.

mesaj.From = new MailAddress("xxx@gmail.com");

Maili gönderen adres. Yani sizin e-posta adresiniz..

mesaj.To.Add("gonderilecekadres@domain.com");

Mailin iletileceği adres.

mesaj.Subject = textBox_baslik.Text;

Mail başlığı.

mesaj.Body = textBox_icerik.Text;

Mailin içeriği.

SmtpClient client = new SmtpClient("smtp.gmail.com", 587);

Bu kod önemli. SmtpClient sınıfında client adında bir nesne oluşturuyorum. Girilen bilgilerin doğruluğu çok önemli. Aksi taktirde mailiniz iletilmez. 

Gmail ve Yandex Mail kullananlar 587'yi değiştirmiyorlar. Yandex için smtp.gmail.com yerine smtp.yandex.ru yazılması gerekiyor.

client.Credentials = new NetworkCredential("xxx@gmail.com", "şifre");

Mail adresimizi ve şifremizi giriyoruz.

client.EnableSsl = true;
client.Send(mesaj);

Kodlarıyla bitiriyoruz.

İyi çalışmalar ...
        

27 Ekim 2013 Pazar

dataGridView CellEndEdit ile Update İşlemi Gerçekleştirme

Posted by samgar at 19:04 11 Comments
Bu makalemizde dataGridView nesnesinde Update işlemini gerçekleştireceğiz. ToolBox tan formunuza BindingSource ekleyin. BindingSource in DataSource kısmını açıp Add Project DataSource a tıklayarak veritabanı yolunu tanımlayın. Bu işlemler sürerken DataSetiniz de oluşturulmuş oldu. Yine BindingSource DataMember kısmından tablonuzu seçin. Böylece TableAdapter nesnenizde formda oluştu. dataGridView nesnenizin DataSource ünde bindingSource seçin. dataGridView1_CellEndEdit olayına aşağıdaki gibi güncelleştirme kodunuzu yazın. Böylece çalışma anında dataGridView nesnenizin herhangi bir sütuna tıklayıp o satırda yazılı olan veriyi değiştirebileceğiz.

Şekil 1

Sponsor

Yazılarım Korunuyor

Yandex Metrica

Yandex.Metrica

Toplam Sayfa Görüntüleme Sayısı

back to top