Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği

Benzer bir sunumlar


... konulu sunumlar: "Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği"— Sunum transkripti:

1 Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 11: Birden Çok Form ile Çalışma ve Menü Oluşturma Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği

2 Projeye yeni bir form ekleme
Projemize başka bir form eklemek istersek «Project» menüsünden «Add Windows Form» seçerek karşımıza gelen pencerede yeni formun ismini belirleyip «Add» düğmesine tıklamamız yeterlidir. Projemizi çalıştırdığımızda yeni yarattığımız form görünmeyecek, proje eski form ile başlayacaktır. Bunun nedeni projemizin başlangıç noktası olan Program.cs dosyasındaki Main() yönteminde halen eski formun çağrılıyor olmasıdır: Application.Run(new Form1()); Eğer yeni yarattığınız formun adı Form2 ise yukarıdaki satırda Form1 yerine Form2 yazarak yeni formunuzun program çalıştırıldığında ekrana gelmesini sağlayabilirsiniz.

3 Bir formdan diğer formu çağırma
Eğer projemizdeki bir formdan başka bir formu çağırmak (görüntülemek) istersek önce yeni formumuzun sınıfından bir nesne üretmeli, sonra o nesnenin Show yöntemini kullanmalıyız: Form2 yeniForm = new Form2(); yeniForm.Show(); Aynı formdan başka bir nesne daha üretip Show ile görüntüleyebilir, böylece bu formun farklı hafıza bölgesinde yer alan kopyalarını elde edebiliriz.

4 Kod ile Form oluşturmak
İstersek «Add Windows Form» ile ekleme yapmadan, kod ile sıfırdan bir form da oluşturabiliriz. Bunun için Form sınıfından nesne üretmeliyiz: Form yeniForm = new Form(); yeniForm.Show(); Program çalışırken yaratılacak olan bu form boş bir form olacağı için üzerinde yer alacak olan kontrolleri de kod ile yaratmalıyız.

5 Program çalışırken kontroller yaratmak
Eğer çalışma zamanında (run-time) form üzerinde kontroller yaratmak istersek, yine o kontrolün sınıfından bir nesne oluşturmalı ve bu nesneyi forma eklemek için, formun Controls.Add yöntemine oluşturduğumuz nesneyi parametre olarak vermeliyiz: TextBox yeniMetinKutusu = new TextBox(); this.Controls.Add(yeniMetinKutusu); Eklenen kontrol formun sol üst köşesinde görünecektir. Kontrolün konumunu belirlemek için Left ve Top özellikleri, boyutunu belirlemek için de Width ve Height özellikleri (veya hepsi için SetBounds yöntemi) kullanılabilir. «this» ifadesi bulunduğumuz sınıfı (örneğin Form1) ifade eder

6 Form üstüne 64 adet düğme ekleyen kod
private void Form1_Load(object sender, EventArgs e) { Button[,] Dügmeler = new Button[8, 8]; for (int i = 0; i < 8; i++) for (int j = 0; j < 8; j++) Dügmeler[i, j] = new Button(); this.Controls.Add(Dügmeler[i, j]); Dügmeler[i, j].SetBounds(i * 30, j * 20, 30, 20); Dügmeler[i, j].Text = i.ToString() + "," + j.ToString(); Dügmeler[i, j].Click += new System.EventHandler(tiklamaYontemi); } Button sınıfından Dügmeler adında 2 boyutlu dizi tanımı Düğme yaratıldı Yaratılan düğme forma eklendi Düğme ilgili yere taşındı Düğmenin üzerine indeks değeri yazıldı Düğme tıklanınca hangi yönteme gidileceği belirlendi

7 MDI Formlar MDI (Multiple Document Interface) tipi formlar kullanarak ana formumuzu ebeveyn form diğer formlarımızı ise sadece ana form içinde hareket edebilen çocuk formlar olarak tasarlama imkanına sahip oluruz. Eğer X formunun IsMdiContainer özelliği True yapılırsa ve Y formunun MdiParent özelliğine X formu atanırsa, Y formu X formunun iç formu (çocuk formu) olur ve onun sınırlarının içinde hareket edebilir.

8 MDI Form Örneği Form1 içinde yer alan formların ebeveyn (parent) formudur. İçindeki formlar bu pencerenin dışına çıkarılamaz

9 Forma Menü Ekleme Toolbox’ta Menus & Toolbars sekmesi altında MenuStrip nesnesi eklendiği anda formun üzerinde bir menü alanı belirir. Bu menü alanına istediğimiz menü elemanlarını girebiliriz. Bir menü elemanı tıklandığında ne olacağını üstüne çift tıklama ile gidilen Click olayına yazarız. Ana menü elemanları yan yana girilir Alt menü elemanları alt alta girilir Alt menüye yan menü ekledikçe bunun gibi başka yan menüler açılır Menü elemanları «…ToolStripMenuItem» olarak isimlendirilir. Eğer isim girerken & kullanırsak sonrasındaki harfin altı çizili olur (&Yeni -> Yeni) ve «Alt tuşu + altı çizili harf» kombinasyonu menüye hızlı erişim sağlanır Eğer Image özelliği ile bir resim seçilirse bu kısımda görünür

10 Not Defteri Pogramı Menüye kısayol tuşu atamak için ShortcutKeys özelliği kullanılabilir (bu kısayolun burada görünmesi için ShowShortcutKeys True olmalı) StatusStrip altına eklediğimiz ToolStripStatusLabel ile bu türden bilgiler gösterilebilir

11 Bunların dışında Printing sekmesi altında PrintDialog kutusu da var
İletişim Kutuları Windows işletim sisteminde çalışan tüm uygulamalar tarafından kullanılabilen (aslında işletim sisteminin bir parçası olan) bazı iletişim kutuları (DialogBox) mevcuttur. Bunlara Toolbox altında Dialogs sekmesinden ulaşılabilir: Dosya Açma (OpenFileDialog) Dosya Kaydetme (SaveFileDialog) Yazı Tipi Seçimi (FontDialog) Renk Seçimi (ColorDialog) Klasör Seçimi (FolderBrowserDialog) Bunların dışında Printing sekmesi altında PrintDialog kutusu da var

12 OpenFileDialog

13 OpenFileDialog kutusunu kullanma
Diyalog kutuları ShowDialog yöntemi ile gösterilir: openFileDialog1.ShowDialog(); Diyalog kutusu görüntülendikten sonra kullanıcı bir dosya seçene kadar program bu satırda kalır. Dosya seçildikten sonra diyalog kutusu kapanır ve dosyanın ilgili metin kutusuna aktarılması için aşağıdaki kodu kullanabiliriz: textBox1.Text = File.ReadAllText( openFileDialog1.FileName, Encoding.UTF8); Fakat kullanıcı bir seçim yapmadan ESC tuşu ile diyalog kutusunu kapatırsa, dosya ismi olmadan açma yapılmaya çalışılacağı için bu satır hata verir. Bundan korunmak için OpenFileDialog sınıfının FileOk olayı altında kodumuzu yazmak daha doğru olacaktır (örnek koda bakınız) Diğer diyalog kutularının kullanımı için sitedeki örnek kodu inceleyiniz


"Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği" indir ppt

Benzer bir sunumlar


Google Reklamları