C# Günleri – Gün 3
Visual C# 2008
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Proje1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(“msdundar”);
Console.Write(“To continue press any key”);
Console.ReadKey();
}
}
}
F5 veya Start Debugging ile derletip sonucu konsoldan görebiliriz.
Şimdi öyle bir ayarlama yapacağım ki bu uygulama çalıştırıldığı zaman ekrana bir pencerenin gelmesini sağlayacağım.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Proje1
{
class Program
{
static void Main(string[] args)
{
System.Windows.Forms.Form Form1;
Form1 = new System.Windows.Forms.Form();
Form1.Text = “MSDundar”;
System.Windows.Forms.Application.Run(Form1);
}
}
}
Bu kodu dikkatlice incelerseniz using deyimiyle System.Windows.Forms adlı namespace’deki Class’lardan yararlanılmak istendiği belirtilmiş. Aynı satırı sizler yazmaya kalkışırsanız hata meydana gelir. Çünkü bu Namespace .NET Framework ile gelen System.Windows.Forms.dll adlı DLL dosyasında yani referansta yer almaktadır. .NET Framework’e ait klasöre baktığınızda bu dosyayı görebilirsiniz.
Konsol uygulamaları dahilinde ekrana pencere getirmek için bu DLL dosyasının konsol uygulamasına dahil edilmesi gerekiyor. Başka bir deyişle Express Edition’ın bu referans hakkında bilgilendirilmesi gerekir. Bunun için Express Edition penceresi içinde yer alan Solution Explorer penceresinden yararlanıp Add Reference diyalog kutusunu ekrana getirip System.Windows.Forms.dll referansını uygulamaya dahil etmelisiniz.
Her ne kadar burada referansın uygulamaya dahil edildiğinden söz edilse bile gerçek tam böyle değildir. Yapılan, Express Edition’ın dolayısıyla C# derleyicisinin bu referanstan yararlanılmak istendiği konusunda haberdar edilmesinden ibarettir.
Yukarıda verilen kodun üzerinde biraz duralım. Main() metoduna yazdığım bu satırların ilkinde “Form1” adında ve System.Windows.Forms adlı Namespace’teki Form sınıfı tipinde bir değişken tanımlanmaktadır. Devamında new anahtar kelimesi ile Form sınıfının örneğini alıp (yani nesne hazırlayıp) referansını Form1 adını verdiğim değişkene aktardım. En son olarak bu Form nesnesini Application sınıfının Run() metoduna parametre olarak verdim. Dikkat ederseniz burada tanımladığım değişkene Form1 adını verdim.