Windows Formunda sistem menüsünü yönetmek

C#, VB.NET, ASP.NET 6 Comments »

Windows ortamında geliÅŸtirdiÄŸimiz desktop tabanlı exe programındaki her formun task barında standart pencere yönetim menüsü çıkar. Pencerenin ikonu tıklandığında, title bar veya taskbar saÄŸ tıklandığında görünen bu sistem menüsü formun türüne göre farklılık gösterse de genellikle, Restore, Move, Size, Minimize, Maximize ve Close eventleri içerir. Uygulamalarımızda bu menüyü yönetmek isteyebiliriz örneÄŸin oradaki default menüden bazılarını disable etme ihtiyacı doÄŸabilir veya birçok programda gördüğümüz “About” bölümünü ekleyebiliriz. Sistem menüsünü yönetmek için .NET plaftormunda özel bir kütüphane bulunmamaktadır. Bunu saÄŸlamak için Windows API’si kullanılır. Read the rest of this entry »

Windows Form’unu Yönetmek(ShowDialog-Show metodları)

C#, VB.NET, ASP.NET 5 Comments »

Bir desktop uygulaması yazılırken uygulama içerisinde ana bir Form(Main Window) üzerinden birden fazla Form açıp kapatma ihtiyacımız doÄŸar. İkinci formu açarken modal(kipli) veya modeless(kipsiz) pencere tipi kullanılır. Modal olarak açılmış pencereler, pencere kapatılmadığı sürece alttaki pencerelere eriÅŸime izin vermeyendir. Programlardaki “Dosya Aç” penceresi bu türden bir penceredir. Bu penceredeki iÅŸimizi bitirip pencereyi kapatmadığımız sürece programın diÄŸer ekranlarına geçemeyiz. Modeless olarak tanımlanmış pencere tipinde ise ikinci pencere açıkken de alttaki pencereye eriÅŸilir (Non-Modal Windows). Word programındaki “Find and Replace” penceresi bu türden bir penceredir. Modal pencere tipini daha çok dialog window denilen iletiÅŸim kutuları için tercih ederiz. İletiÅŸim kutuları kullanıcıya bir uyarı vermek veya kullanıcıdan bilgi giriÅŸi almak için hazırlanmış özel pencerelerdir. Bir Main form üzerinde alt formları açmak için de Modeless pencere tipi yaygın olarak kullanılır ama bazen de Modal pencere tipi de tercih edilir. Peki bu durumda bu basit farkın dışında neye dikkat edilmelidir. Read the rest of this entry »

ASP.NET kontrollerin ReadOnly veya Disable edilmesi

C#, VB.NET, ASP.NET No Comments »

Web uygulamalarımızda form kontrollerini, kullanıcının müdahelesini engellemek için readonly veya disable ederiz. Bütün ASP.NET Web kontrollerinin Enabled property’si bulunur. Bu property’inin deÄŸerini false olarak seçtiÄŸimizde kontrol, HTML elementi olarak render edildiÄŸi zaman disabled niteleÄŸiyle iÅŸaretlenmiÅŸ olur.


Server tarafında bu şeklinde tanımlanmış kontroller, aşağıdaki şekilde render edilir.


Bu durumda IE veya Firefox tarafında bu elementler gri modda görünecek ve kullanıcının bu kontrollere fokuslanması veya değerini değiştirmesi engellenmiş olacaktır.
Textbox kontrolünde bu property’e ek olarak ReadOnly property’si bulunur. CheckBox, RadioButton, DropDownList, RadioButtonList, CheckBoxList gibi kontrollerde bulunmayan bu property, TextBox kontrolünün sadece okunabilir olmasını saÄŸlar. Bu durumda TextBox kontrolü browser içerisinde gri modda girmeyecek(içindeki metnin rengi gri olmayacak) aynı zaman kullanıcının bu kontrole fokuslanmasına izin verilmiÅŸ olacaktır. Disabled gibi readonly durumunda da kullanıcı, kontrolün deÄŸerini deÄŸiÅŸtiremez. Disable ile ReadOnly arasındaki bu basitten farktan daha önemli bir fark bulunmaktadır. Read the rest of this entry »

Proper Case (VB.NET, C#, T-SQL)

C#, VB.NET, ASP.NET 2 Comments »

Kullanıcı tarafından veritabanına girilmek üzere olan bilgileri, standart bir formatta düzenlemek verilerin hem doÄŸru raporlanmasını saÄŸlar hem de okunabilirliÄŸini artırır. Bu bilgiler arasında genellikle tarih, para, ad soyad ve adres gibi bilgileri bulunmaktadır. Bu yazıda veritabanına girilmiÅŸ veya girilecek “ad soyad” bilgilerinin Proper Case formatına nasıl dönüştürüleceÄŸine dair fonksiyonları vereceÄŸiz. ProperCase olarak tanınlanan format, her kelimenin ilk harfinin büyük diÄŸer harflerin küçük yazılmasıdır. ÖrneÄŸin kullanıcının yazdığı “ahMEt kaYMAZ” ÅŸeklindeki veriyi “Ahmet Kaymaz” olarak dönüştürmektir. Bu dönüştürmeyi C#, VB.NET ve SQL tarafında birçok farklı ÅŸekilde yapabiliriz. Read the rest of this entry »

DPAPI ile string ÅŸifrelemesi ve SecureString class

C#, VB.NET, ASP.NET No Comments »

Bir uygulama geliÅŸtirirken göz önünde bulundurmamız gereken önemli konulardan biri de hiç şüphesiz “güvenlik”tir. Güvenlik konusu deyince nedense aklımıza daha çok network tabanlı bir koruma gelir. Oysa birçok saldırının kaynağı uygulama içerisindeki açıklardan kaynaklanmaktadır. Bir uygulamayı güvenli kılmanın birçok yöntemi bulunmaktadır. Hakların düzenlenmesi, doÄŸru ayarların yapılması, kullanıcıdan gelen bilgilerin doÄŸrulanması, etkili validation iÅŸlemlerinin yapılması, gizli-kritik bilgilerin uygulama içerisinde saklanmaması, etkin hata yönetiminin saÄŸlanması, aktif bir test gerçekleÅŸtirilmesi, veritabanının koruma altına alınması, .NET platformunda unmanaged kaynaklarının doÄŸru yönetilmesi bu yöntemlerden sadece bir kaçı. Bu yazıda uygulama güvenliÄŸini saÄŸlayan yöntemlerden biri olan ve Windows iÅŸletim sisteminin 2000 ve sonraki sürümleri tarafından desteklenen DPAPI (Data Protection Application Programming Interface) arabiriminin .NET cephesi hakkında konuÅŸacağız. Read the rest of this entry »

C# / VB.NET – MD5 fonksiyonu(String To MD5)

C#, VB.NET, ASP.NET 14 Comments »

MD5(Message Digest algorithm 5), MIT’de profesör olan Ron Rivest tarafından selefi olan MD4 üzerine geliÅŸtirilmiÅŸ hash algoritmasına dayalı bir fonksiyondur. 128 bit’lik çıktı üreten ve tek yönlü bir ÅŸifreleme sistemi olan(ki bu yüzden kırılması mümkün deÄŸildir) MD5 fonskiyonu, transfer edilmiÅŸ bilgilerin doÄŸru, eksiksiz bir ÅŸekilde yerine ulaşıp ulaÅŸmadığının kontrol edilmesinde ve public-key ÅŸifrelemesinde kullanılır. Matematiksel bir model üzerine kurulan MD5′in kırılmamazlığı, input olarak aldığı deÄŸerin uzunluÄŸuyla orantılır. Özellikle database iÅŸlemlerinde kullanıcılara ait bazı özel bilgilerin MD5 ile ÅŸifrelenecek tutulması tavsiye edilir. Bu veriler kötü niyetli kiÅŸiler tarafından çalınsa bile geri döndürülemediÄŸi için ciddi bir tehlike oluÅŸturmaz. Read the rest of this entry »

ASP.NET’te Meta Tag’ların dinamik yüklenmesi

C#, VB.NET, ASP.NET 22 Comments »

Bir html sayfası hakkında bilgi içeren, özetini sunan, hangi temel sözcükler üzerinde durduğunu bildiren, sayfanın ne zaman ve kimin tarafından hazırlandığını gösteren etiketlere meta tag denilir. Bir sayfaya ait üst veriler olarak tanımlanan meta tag etiketleri, description, keywords, author, classification, copyright, robots gibi değerlerden oluşur. Aşağıda, bu sayfanın örnek meta tagları bulunmaktadır;


Meta tagları ziyaretçiler için deÄŸil daha çok arama motorlarının o sayfayı doÄŸru ve kolayca analiz etmesi için düzenleriz. SEO(Search engine optimization – Arama motoru optimizasyonu) uygulamalarında en önemli iÅŸlemlerinden biri de sitedeki sayfaların meta taglarının güncellenmesidir. Read the rest of this entry »

Program ayarlarının dinamik kaydedilmesi

C#, VB.NET, ASP.NET 2 Comments »

Özellikle desktop uygulamalarda kullanıcı veya uygulama bazlı bazı ayarları korumak isteriz. ÖrneÄŸin kullanıcının bir formu en son hangi modda, hangi büyüklükte veya renk ayarlarında kapattığı bilgilerini saklayıp kullanıcının programı bir sonraki açışında bu ayarları yüklememiz her zaman ihtiyaç duyduÄŸumuz bir durumdur. Framework 2.0, bu amaçla System.Configuration.ApplicationSettingsBase sınıfı ve en önemlisi bu iÅŸlemleri yapmamız için settings designer ekranı sunar. Read the rest of this entry »

Uygulamanın Idle Modunu Yakalamak(C#, VB.NET)

C#, VB.NET, ASP.NET 4 Comments »

“Idle” kavramı, bir uygulamanın tüm iÅŸlerini(process) bitirip atıl moda geçmesini temsil eder. Aynı kavram, iÅŸletim sistemleri için de kullanılarak iÅŸletim sisteminin tüm iÅŸlemlerini bitirip bekleme moduna geçmesi anlamına gelir. BirçoÄŸumuzun kullandığı GTalk programında uzun süren bir hareketsizlik olduÄŸu zaman kullanıcı idle durumuna geçirilir. Programımızın atıl durumdayken bazı özel iÅŸler yapmasını saÄŸlamak için Idle olayı kullanılır. Programın atıl durumda olması demek, üzerinde herhangi bir klavye, mouse hareketi olmadığı için arka tarafta da kuyrukta herhangi bir processin iÅŸlenmiyor veya beklenmiyor olmasıdır. Kısacası programın tamamen, duraÄŸan moda geçmesidir. Windows uygulamaları, ne zaman Idle moduna geçtiklerini bilecek yeteneÄŸe sahiptir. Özellikle geliÅŸmiÅŸ programlama dillerinde uygulamanın Idle modunu yakalamak için belli componentler sunulur. Bu amaçla VB.NET, C# tarafında Windows formunu temsil eden Application nesnesinin Idle eventi mevcuttur. Uygulama tüm processlerini bitirip hareketsiz duruma geçtiÄŸi anda bu event tetiklenir. Bu event, herhangi bir kontrol tarafından deÄŸil doÄŸrudan Windows tarafından tetiklenir. Read the rest of this entry »

Interface üyelerinin explicit uygulanması(VB.NET & C#)

C#, VB.NET, ASP.NET No Comments »

Nesne tabanlı programlamayı destekleyen dillerin temel karakterinden biri de inheritance(kalıtım) olayı destekliyor olmasıdır. Fakat multiple inheritance olarak tanımlanan çoklu kalıtım, C++ tarafından destekleniyorken Java, .NET tarafından desteklenememektedir. CLR tabanlı diller, çoklu kalıtım iÅŸlemini interface yapılarıyla gerçekleÅŸtirir. Böylece bir sınıfın birden fazla arabirimi uygulamasını saÄŸlamış oluruz. Bu uygulama iÅŸlemi implicit(gizli, bilinçsiz) ve explicit(açık, bilinçli) olarak gerçekleÅŸir. Implicit yöntemi, klasik bir ÅŸekilde bir veya daha fazla arabirimin, sınıfa uygulanması ve arabirim üyelerinin sadece isimleriyle kullanılmasıdır. Fakat özellikle aynı isimde üye içeren birden fazla arabirimin uygulanması durumunda sıkıntı yaÅŸanır. Bunu aÅŸmak için arabirim üyeleri explicit yöntemiyle kullanılır.VB.NET tarafından otomatik olarak explicit yöntemi kullanılır. Read the rest of this entry »

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS GiriÅŸ