c# - Regular Expressions

Bu aralar, fırsat buldukca c#’cılık oynuyorum… Regular Expressions - düzenli ifadeler ile ilgili bir noktada takıldım… Çoğu kişinin yaptığı gibi bende, Google’ın nimetlerini kullanarak (yani tembellikten) düzenli ifadeler ile ilgili güzel bir site buldum… Adamlar hazırlamışlar koymuşlar…

Bu adreste de yine c# ile yazılmış güzel bir test aracı var…

www.addressof.com/blog

http://addressof.com/blog c# ile ilgili güzel bilgilerin olduğu bir İngilizce bir blog…

DataReader kayıt sayısı…

ADO Recordset’in RecordCount özelliği bence çok kullanışlı, ancak ADO.NET DataReader sınıfında RecordCount özelliği yok.

DataReader’da performans ön planda tutulmuş, kayıtlar veri kaynağından okundukça parça parça geliyor, yani tüm kayıtlar gelmeden, gelen kayıtları sonuna kadar okumadan, toplam kayıt sayısını öğrenmek mümkün değil.

Kayıt sayısını bulmak için ya kayıtları okurken bir değişkeni sayacağız ya da asıl işlemden önce
select count(id) from tablo
ile kayıt sayısını alacağız.

Bana garip geldi…

MDIForm , NotifyIcon ve ContextMenu

C# ile daha önceden zaman harcamaya değmez bulduğum bazı işleri yapmak çok kolay hale gelmiş.

1. MDI Form kullanımı, MDI Formun ne olduğunu açıklamaya gerek yok.. VB ile MDI formları doğrudan projeye ekleyebiliyordu. C# da ise MDI form kullanmak için yapılandırıcıya

this.IsMdiContainer=true;

yazmak yeterli.. Formumuz kendiliğinden MDI form haline geliyor.. Cocuk form eklemek icin

Form frm=new Form();
frm.MdiParent=this;
frm.Show();

kodlarını ekliyoruz.. burada doğrudan Form sınıfından bir örnek türettik…

2. SystemTray de ikon oluşturma, C# tasarımcıları C# in cidden RAD aracı olması için kasmışlar ve başarmışlar.. Artık TrayIcon lar için API ile uğraşmak gerekmiyor (belki VB haricindeki dillerde uğraşmak zaten gereksizdi, bilmiyorum). Bunun için forma alet kutusundan bir adet NotifyIcon ekliyoruz.. Yapmamız gereken

NotifyIconAdi.Visible=true;

yazmaktan ibaret..

3. Sistem tepsisindeki ikona menu eklemek için de yine alet kutusundan bir ContextMenu ekliyoruz. ContextMenu de main menu gibi bir bileşen.. VB deki karşılığı PopUpMenu.. tabii VB de bileşen olarak değil, formun bir yöntemi olarak vardı.. Form tasarımcısında ContextMenu üzerine tıkladığımız zaman main menu gibi istediğimiz alt başlıkları
ekliyebiliyoruz.

Teşekkürler MS, seni çok sevmem ama ne diyeyim, kullanıyoruz işte…

C# ile WindowsForms kontrollerini yeniden boyutlandırmak

Bir formu yeniden boyutlandırdığımızda form üzerindeki kontrollerin de aynı şekilde hareket etmesini sağlamak kastırıcı bir iş.. Kontrollerin form üzerindeki yerlerini değiştirmek ya da yeniden boyutlandırmak için ayrıca kod yazmak gerekli.. C# (daha doğrusu Windows forms da) da bu işlem çok kolaylaşmış durumda…

Yeniden boyutlandırma için kontrollerin birbirinden bağımsız iki özelliği var. Anchor ve Dock
Form tasarımcısında herhangi bir kontrolün properties penceresinde Layout bölümüne gidin.. orada dört özellik var Anchor Dock Location ve Size..

  1. Location kontrolün form üzerindeki x,y koordinatları.
  2. Size yüksekliği ve genişliği..

Anchor kontrol hizalamasının formun hangi kenarına göre sabit kalacağını belirtir. ComboBox dan sağ sol alt üst ve bunların bileşimlerini seçebilirsiniz. Bir button yerleştirip Anchor özelliğini left, bottom olarak seçerseniz formu her yeniden boyutlandırdığınızda kontrol form üzerindeki koordinatlarına uygun olarak yer değiştirir. İşin güzel tarafı eğer zıt yönleri seçerseniz (left ve rigth, top ve bottom gibi) form yeniden boyutlandığında, kontrolde orantılı olarak yeniden boyutlandırılır.. Sizin kod yazmanıza gerek kalmadan

Dock Aslında bunu da açıklamaya gerek yok.. seçtiğiniz özelliğe göre Kontrolü formun ilgili kenarına yapıştırır ve kontrol formla birlikte yeniden boyutlandırılır..

Burada yayınlandı…