Yazarlar Sözlük Makaleler Yardım Masası Gözlük Forum İstatistik

Tüm Başlıklar XML

1.  Yazılımda en sıkıcı görülen işlerden birini; form tasarımıyla ilgili kodların yazılmasını, sizin yerinize yapan form tasarım programlarına denir. Siz formunuzu görsel olarak tasarlarken form designer sizin yaptığınız tasarımı koda dönüştürür. Genellikle IDE'lerin içinde bunlardan bi tane bulunur.

Peki bu doğru mudur? Kodu form designer'a yazdırmak gerçekten avantajlı mıdır? Bence; eğer vaktiniz çok kısıtlıysa ve sofistike user interface tasarımları düşünmüyorsanız form designer kullanın. Bunun dışında kesinlikle kullanmayın. Bu tür kod üreten programcıklar programcının esnekliğini sınırlamaktan başka bir işe yaramaz. Daha kötüsü programcının kendi API kodlarını yazmasını da engeller. Halbuki iyi bir programcı* yazdığı kodları bir kullanımlık yazmayan, generic düşünen, ileriye yatırım yapan, kendi fonksiyon kütüphanelerini zaman içinde geliştiren (kısaca reusability'ye inanan) programcıdır.

"Nasıl yani? Form designer kullanmadan formlar tasarlayıp kullanabilir miyim?" diye soran çömezlere -sizi seviyorum, herkes çömezdi zamanında- aşağıdaki C# kodunu incelemelerini tavsiye ederim. (Neden C#? Bu amaca uygun o sebepten. Java da olabilirdi. Ama C# oldu. Sharp çünkü.)

using System;
using System.Windows.Forms;

namespace Comez.UI
{
   // InputForm sınıfı üzerinde bir tane
   // TextBox ve bir OK butonu olan bir form görüntülemek için kullanılır.
   class InputForm : Form
   {
      TextBox txtInput = new TextBox();
      Button btnOK = new Button();
      Button btnCancel = new Button();

      public InputForm()
      {
         // butonların dialog result değerlerini ayarlayalım.
         btnOK.DialogResult = DialogResult.OK;
         btnOK.Text = "OK";
         btnCancel.DialogResult = DialogResult.Cancel;
         btnCancel.Text = "Cancel";

         // kontrollerimizi formumuza ekleyelim.
         this.Controls.AddRange(new Control[]{txtInput, btnOK, btnCancel});
      }

      public string UserInput
      {
         get {return txtInput.Text;}
         set {txtInput.Text = value;}
      }

      // test edelim bakalım kodumuz nasıl çalışıyor
      static void Main(string[] args)
      {
         Console.WriteLine("Usage :");
         Console.WriteLine("d: Devam     q: Quit");
         Console.WriteLine("");
        
         while(Console.ReadLine()!="q")
         {
            // şimdi bu formu kullanıcıdan girdi almak için kullanıyoruz.
            InputForm inpForm = new InputForm();

            if(inpForm.ShowDialog()==DialogResult.OK)
               Console.WriteLine("Girdi şu:" + inpForm.UserInput);
            else
               Console.WriteLine("Girdi falan yok.");
         }

      }
   }
}

fizikci
26 Ekim 2005 11:29 ~ 27 Ekim 2005 00:56
Bu konuda bildiklerinizi bizlerle paylaşabilirsiniz
Tabi bunun için yazarsanız giriş yapmalı, yazar değilseniz yazar olmalısınız.


Bu başlığa bkz veren girişlerin başlıkları nedir?

Bu başlığa bkz veren girişler başka hangi başlıklara bkz verdiler?
© 2005, Bilişim Kulübü. (1062 ms)
Ne yapabilirsin: SubtitleClick ile İngilizceni Geliştir, Çınar Framework ile kod yaz, Eglencelik.org'ta biraz eğlen