DesingMode Hatalarına Önlem

Şubat 7, 2012 at 4:28 mehmet.baran

Merhaba,

Visual Studio'da, Windows Form uygulamaları geliştirirken bazen design mode 'da ekranı açarken hatalar alabiliyoruz. Bunun sebebi design mode dahi olsa aslında ekran kodlarınızın visual studio tarafından çalıştırılıyor olması. Örneğin form veya bir controlün constructor kısmında veri tabanına bağlanma, web servis çağrısı, dosya okuma-yazma gibi hata alması muhtemel kod blokları çalışıyor ise ekranı design mode'da açamamanız mümkün. 

Bu tür hataların önüne geçmek için kod bloklarının design time'da çalışmasını engelleyebiliriz.

if(DesignMode) // Component.DesignMode
{
    return;
}

şeklinde bir kod parçası ile design mode hataların önüne geçebiliriz.

Fakat contructorda yazılan kod bloklarında henüz controle ait tüm bileşenler hazır olmadığı için DesignMode property'si her durumda false dönecektir. Bunun için de 

if (LicenseManager.UsageMode == LicenseUsageMode.Designtime) 
{
    return;
}

şeklinde bir kontrol ifadesi kullanabiliriz. 

 

Posted in: .Net | Windows Forms

Tags: , ,