Makale Özeti

Merhaba arkadaşlar, ilk makalemizde diğer web geliştirme editörlerinde olan ama .net toolbox’da olmayan marquee kontrolünü geliştirmiştik. Bu makalemiz de ise farklı bir custom web control geliştireceğiz.

Makale

Popup Açtıran Button

Hemen hemen her web sitesinde kullandığımız Popup pencereler bizi çok fazla uğraştırır. Her defasında yeni bir javascript oluşturup oluşturduğumuz javascripti kontrollerin eventlerinde çağırırız. Bu hem bizi çok uğraştırır hemde çok fazla zaman kaybettirir. İşte bu zaman kaybanı önlemek için popup açtıran bir buton geliştireceğiz. Bir button oluşturup bu butona tıklandığında popup pencere açtıracağız. Butonun ve açılacak olan bu pencerenin boyutlarını kullanıcı değiştirebilecek. Şimdi ilk olarak yeni bir WebControl Library projesi oluşturalım.



Kodlamaya başlıyalım;

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Text;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;


namespace PopupButton

{

[DefaultProperty("Text")]

[ToolboxData("<{0}:semPopupButton runat=server>")]//kontrolümüze verilecek olan ID Tabiki kendi adımla başlıyor (:

public class semPopupButton : WebControl

{

[Bindable(true)]

[Category("Appearance")]

[DefaultValue("")]

[Localizable(true)]

//Kontrolümüzün özelliklerini tutacak olan değişkenler

string _text;

string _windowName;

string _windowUrl;

string _windowWidth;

string _windowHeight;

string _buttonWidth;

string _buttonHeight;

//SemPopupButton adlı bir özellik grubuna eklenecek bu özellik Açılacak olan Window’un URL’ni tutan bir özelliktir.

[Category("SemPopupButton"),

DefaultValue("WindowUrl"),

Description("Açılacak olan Popup Pencerenin URL'i")]

public string WindowURL

{

get

{

return _windowUrl;

}



set

{

_windowUrl = value;

}

}

//SemPopupButton adlı bir özellik grubuna eklenecek bu özellik Açılacak olan Window’un Title’ni tutan bir özelliktir.

[Category("SemPopupButton"),

DefaultValue("WindowsName"),

Description("Açılacak olan Popup Pencerenin Title'i")]

public string WindowName

{

get

{

return _windowName;

}


set

{

_windowName = value;

}

}


//SemPopupButton adlı bir özellik grubuna eklenecek bu özellik Açılacak olan Window’un genişliğini tutan bir özelliktir.

[Category("SemPopupButton"),

DefaultValue ("PopupWidth"),

Description("Açılacak olan Popup Pencerenin genişliği")]

public string WindowWidth

{

get

{

return _windowWidth;

}

set

{

_windowWidth = value;

}

}

//SemPopupButton adlı bir özellik grubuna eklenecek bu özellik Açılacak olan Window’un yüksekliğini tutan bir özelliktir.

[Category("SemPopupButton"),

DefaultValue("WindowHeight"),

Description("Açılacak olan Popup Pencerenin yüksekliği")]

public string WindowHeight

{

get

{

return _windowHeight;

}

set

{

_windowHeight = value;

}

}

//SemButton adlı bir özellik grubuna eklenecek bu özellik butonun textini tutan bir özelliktir.

[Category("SemButton"),

DefaultValue("TextName"),

Description("Butonn Text Özelliği")]

public string Text

{

get

{

return _text;

}



set

{

_text = value;

}

}

//SemButton adlı bir özellik grubuna eklenecek bu özellik butonun genişliğini tutan bir özelliktir.

[Category("SemButton"),

DefaultValue("ButtonWidth"),

Description("Butonun Genişliği")]

public string ButtonWidth

{

get

{

return _buttonWidth;

}



set

{

_buttonWidth = value;

}

}

//SemButton adlı bir özellik grubuna eklenecek bu özellik butonun yüksekliğini tutan bir özelliktir.

[Category("SemButton"),

DefaultValue("ButtonHeight"),

Description("Butonun Yüksekliği")]

public string ButtonHeight

{

get

{

return _buttonHeight;

}



set

{

_buttonHeight = value;

}

}

protected override void RenderContents(HtmlTextWriter writer)

{

try

{

string popupButton;





catch

{

writer.RenderBeginTag(HtmlTextWriterTag.Div);

writer.Write("Popup Pencere...");

writer.RenderEndTag();

}

}

}

}

Kodumuzu tamamladık şimdi testing için projemize bir web site ekleyelim. Ekledikten sonra Web Site’in referanslarına Projects sekmesinden WebControl Libraryi ekleyelim. Şimdi toolbox’a bakalım eklenmişmi (:



Kontrolümüz eklendi Şimdi sayfamıza ekleyelim.



Şimdi özelliklerimizi ayarlayalım.



Evet oluşturduğumuz özellik grupları geldi. Ve biz özelliklerimizi yazdık. Şimdi projeyi çalıştıralım. Ve butona tıklayalım (:



Bu makalemizinde de sonuna geldik. Teşekkür eder iyi çalışmalar dilerim.

Sem GÖKSU
MCP | MCAD.NET | MCTS | ASP.NET MVP

Örnek Kodlar için mail adresimi kullanabilirsiniz
semgoksu@semgoksu.com

Kaynaklar

www.codeproject.com