Gelişmiş Nesneler II Ünite 7 Bilgisayar Programcılığı Önlisans Programı GÖRSEL PROGRAMLAMA I Öğr. Gör. Rıza ALTUNAY 1
Ünite 7 GELİŞMİŞ NESNELER II Öğr. Gör. Rıza ALTUNAY İçindekiler 7.1. TAB KONTROL... 3 7.2. TIMER KONTROLÜ... 5 7.3. PROGRESS BAR KONTROLÜ... 7 7.3.1. ProgressBar Kontrolünün Önemli Özellikleri... 8 7.4. PICTUREBOX KONTRÖLÜ... 9 7.4.1. Image... 9 7.4.2. SizeMode... 9 7.4.3. PictureBoxSizeMode.Normal... 9 7.4.4. PicturcBoxSizeModc. AutoSize:...10 7.4.5. PictureBoxSîzeMode. Stretchlmage...10 7.4.6. PictureBoxSizeMode. Centerlmage...10 7.4.7. PictureBox içinde Resim Gösterme Yolları...10 7.5. RESMI SILME...11 7.6. KAYNAKÇA...12 2
Gelişmiş Nesneler II Ünite 7 7.1. TAB KONTROL Sekme şeklinde sayfalar içeren bir kontroldür ve her sekme sayfasının kendine ait özellikleri bulunmaktadır. Özellikleri Aligment : Nesne içersindeki sekmelerin hızalanmasında kullanılmaktadır. Top : Tabcontrol nesnesinin üst kısmına hızalanmasını sağlar Bottom : Tabcontrol nesnesinin alt kısmına hızalanmasını sağlar Left : Tabcontrol nesnesinin sol kısmına hızalanmasını sağlar Right : Tabcontrol nesnesinin sağ kısmına hızalanmasını sağlar DrawMode : Nesne üzerinde çizim olaylarının gerçekleştirilebilmesi için kullanılır. Drawmode özelliğinin değiştirilmesi gerekmektedir. HotTrak : Fare sekme üzerine gelindiğinde sekmelerin değişmesini sağlamaktadır. İmageList : Nesnenin sekme görüntülerinin saklandığı alan ItemSize : Sekme boyutlarının belirlendiği kısımdır. MultiLine : Nesnenin sekmelerinin birden fazla satırda gözükmesini sağlamaktadır. TabCount : Sekme sayısını belirlemektedir. SizeMode : Sekmelerin boyutlandırılmasında kullanılmaktadır. Normal : Sekme boyutlarından faklı olarak kullanılmak üzere ayarlamanın yapıldığı alan. FillToRight : Sekmelerin kenar boşlukları bırakmadan yerleştirilebileceği alan. Fixed : Sekme genişliklerinin eşit olarak belirlendiği alan. 3
Görsel Programlama Editörü Kurma Ve Tanıtma TabControl nesnesine sekme eklemek için izlenecek adımlar. 1. Tab kontrol nesnesinin sağ üst köşesinde bulunan ok işaretine tıklanır ve oradan Add Tab seçeneği seçilir. 2. Diğer bir yöntem properties kısmından tabpeges ayarlrına girerek, 4
Gelişmiş Nesneler II Ünite 7 3. Diğer bir yöntem ise kod kısmında ise kod kısmında Tabcontrol1.TabPages.Add( tabpage4 ); şeklinde olabilir. 7.2. TIMER KONTROLÜ 5
Görsel Programlama Editörü Kurma Ve Tanıtma İstediğimiz komutların belirlediğimiz zaman aralığında tekrarlamasını istiyorsak timer nesnesini kullanabiliriz. İnterval Özelliği : Timer ın çalışacağı zaman bölümüdür. Zaman mili saniye cinsindedir. Mesela her 1 saniyede kodları çalıştırmak istersek interval 1000,her 2 saniyede kodları çalıştırmak için interval i 2000 yapmamız gerekir. Enabled Özelliği : Değeri true ise timer ın çalışmasını,false ise durdurulmasını sağlar.yani enabled değeri true ise timer ın Tick olayına yazılan kodlar çalışır, false ise çalışmaz. Tick Olayı : Bu olaya yazılan kodlar interval ile belirlenen zamanda tekrar edilir. Start : Timer nesnesini başlatmak için kullanılır. Stop : Timer nesnesini durudumak için kullanılır. Örnek : Form üzerine eklenmiş butona tıkladığınızda sayfa içersinde bulunan listbox nesnesine UZEM SAMSUN MYO BİLGİSAYAR PROGRAMCILIĞI yazısını yazdıran program private void Form1_Load(object sender, EventArgs e) { timer1.enabled = false; timer1.interval = 1000; } private void basla_click(object sender, EventArgs e) { timer1.enabled = true; } private void dur_click(object sender, EventArgs e) { timer1.enabled = false; } private void timer1_tick(object sender, EventArgs e) { listbox1.items.add( UZEM SAMSUN MYO BİLGİSAYAR PROGRAMCILIĞI ); } 6
Gelişmiş Nesneler II Ünite 7 7.3. PROGRESS BAR KONTROLÜ ProgressBar kontrolü C# da özellikle dosya kopyalama işlemleri sırasında gördüğünüz, bir işin ne kadarının tamamlandığını gösteren estetik görünümlü bir kontroldür. Görsel uygulamalarda çok fazla kullanım alanı bulunmasına rağmen programcılar tarafından işin görsel boyutu gözden kaçırıldığı için pek fazla kullanılmamaktadır. 7
Görsel Programlama Editörü Kurma Ve Tanıtma 7.3.1. ProgressBar Kontrolünün Önemli Özellikleri Value : ProgressBar ın göstereceği değer -bar ın ne kadarının dolu olduğu- bu özellikte saklanır. Varsayılan olarak bar boş olacağı için 0 dır. Minimum ve Maximum: ProgressBar ın hangi aralıklarda işlem göreceğini belirleyen özelliktir. Örneğin bir programın ne kadarının yüklendiğini gösteren bir progressbar 0 ile 100 arasında bir değer alacaktır. Step : Bu özellik ProgresBar ın kaçar kaçarlık dilimler halinde dolacağını belirleyen özelliktir. Style : Bar ın görsel olarak ne şekilde dolacağını belirleyebileceğiniz ayarlamadır. Block, Continuos vemarguee şeklinde üç farklı değer alır. if (progressbar1.value == progressbar1.maximum) progressbar1.value = 1; else progressbar1.value = progressbar1.value + 1; 8
Gelişmiş Nesneler II Ünite 7 7.4. PICTUREBOX KONTRÖLÜ Bu kontrol Bmp, Icon, Emf, Exif, Wmf, Jpeg, Png, Tiff ve Gif formatındaki resimleri görüntülemek için kullanılır. Ayrıca çizim metotları kullanarak picturebox içine çizimler de yapılabilmektedir. 7.4.1. Image PictureBox içindeki resim bu özellikle belirlenir. Tasarım anında resim yüklemek isterseniz Properties penceresinden bu özelliğin yanındaki Düğmesi ile açılan pencereyi kullanabilirsiniz. 7.4.2. SizeMode PictutureBox içine yüklediğimiz resmin boyutları PictureBox ın boyutlarından farklı ise nasıl davranılması gerektiğini bu özellikle belirleyebilirsiniz. 7.4.3. PictureBoxSizeMode.Normal Herhangi bir işelm yapılmaz. Resmin boyutlarıda ve PictureBox ın boyutlarında bir değişiklik olmaz. 9
Görsel Programlama Editörü Kurma Ve Tanıtma 7.4.4. PicturcBoxSizeModc. AutoSize: PictureBox un boyutları resmin boyutlarına göre yeniden ayarlan, Resim büyükse PictureBox un boyutları büyültülür, resim küçüksepicturebox ın boyutları küçültülür. Böylece PictureBox resmin tamamını orijinal boyutunda görüntülemeyi garanti eder. 7.4.5. PictureBoxSîzeMode. Stretchlmage Resmin boyutları PictureBox un boyutlarına göre yeniden ayarlanır resim büyükse PictureBox un boyutlarına küçültülür, resim küçükse PictureBox un boyutlarına büyültülür. Böylece PictureBox resmin tamamını kendi boyutlarında görüntülemeyi garanti eder. 7.4.6. PictureBoxSizeMode. Centerlmage Resim PictureBox içinde ortalanır. Eğer resmi PictureBox içine döşemek isterseniz Image özelliği yerine BackGroundlmage özelliğini kullanabilirsiniz. 7.4.7. PictureBox içinde Resim Gösterme Yolları Tasarım anında Image özelliği ile açılan pencereden göstereceğiniz resmi ko layca belirleyebilirsiniz ama çoğu zaman resmi tasarım zamanında degıl çalışma zamanında göstermek istersiniz PictureBox içine çalışma anında resim yüklemenin bir çok yolu vardır: Dosyadan Yükleme PictureBox içine dosyada bulunan bir resmi yüklemek için Image.FromFile metodunu kullanabilirsiniz. Örneğin : c:\\ klasöründe bulunan resim.bmp dosyasını yükleme picturebox1.image = Image.FromFile ( c:\\resim.bmp ); Başka bir kontroldeki resmi alma Formunuzdaki başka bir kontroldeki resmi PictureBox içine almak isteyebilirsiniz. Örneğin : picturebox2 İçindeki resmi picturebox1 içine almak için: picturebox1.image=picturebox2.image; ImageList içindeki bir resmi alma Formunuzdaki ImageList kontrolünde bulunan resimlerden birini PictureBox içine almak isteyebilirsiniz. Örneğin : ImageList içindeki 2 numaralı resmi pıcturebox1 içine almak için: picturebox1.image=imagelist1.images[1]; OpenFileDialog kontrolü ile seçilen dosyadan alma Formunuzda bir OpenFileDialog kontrolü varsa kullanıcının buradan seçeceği bir dosyayı PictureBox içinde göstermek isteyebilirsiniz. 10
Gelişmiş Nesneler II Ünite 7 openfiledialog1.filter= Resim Dosyaları + *.bmp;*.jpg;*.gif;*.wmf;*.tif;*.png; if (openfiledialog1.showdialog()==dialogresult.ok) picturebox1.image=image.fromfile(opendialog1.filename); 7.5. RESMI SILME PictureBox içindeki resmi silmek için Image özelliğine null atayabilirsiniz. picturebox1.image=null; private void ac_click(object sender, EventArgs e) { openfiledialog1.filename = resim ; openfiledialog1.filter = jpeg dosyaları (*.jpeg) *.jpg bmp dosyaları (*.bmp) *. bmp gif dosyaları(*.gif) *.gif ; openfiledialog1.title = Lütfen Bir Resim Dosyası Seçin ; openfiledialog1.initialdirectory = C:\\ ; openfiledialog1.showdialog(); } picturebox1.image = new Bitmap(openFileDialog1.OpenFile()); textbox1.text = openfiledialog1.filename; 11
Görsel Programlama Editörü Kurma Ve Tanıtma 7.6. KAYNAKÇA AKTAŞ, V. (2014). Her Yönüyle C# 6.0.Kodlab. İstanbul: Yenibosna. ALGAN, S. (2013). Her Yönüyle C#. Pusula. İstanbul: Beşiktaş. 12
Gelişmiş Nesneler II Ünite 7 13
Görsel Programlama Editörü Kurma Ve Tanıtma 14