Açıklama
AlwaysVisibleControl içerik kaydırıldığında yâda yeniden boyutlandırıldığında sayfa background’u üzerinde float görünen sayfa kontrollerine izin veren basit bir kontroldür. İçeriği değiştirseniz bile sizin belirlemiş olduğunuz yerde kalır. Sayfa yüklenirken flash kontrolüne yakalanmamak için kontrolün pozisyonunu absolutely olarak belirlemeliyiz
Özellikler
· TargetControlID
– Sürekli gösterilecek olan kontrolün ID’si
· HorizontalOffset
- Browserin yatay kenarından pixel olarak uzaklığı. Varsayılan olarak 0’dır.
· HorizontalSide
– Yatay olarak browser üzerindeki tarayıcının pozisyonunu belirler (Left, Center, yada Right) Varsayılanı Left’dir.
· VerticalOffset
- Browserin dikey kenarından pixel olarak uzaklığı. Varsayılan olarak 0’dır.
· VerticalSide
- Dikey olarak browser üzerindeki tarayıcının pozisyonunu belirler (Top, Middle, yada Bottom) Varsayılanı Top’dır.
· ScrollEffectDuration
- Kontrolün pozisyonunun değiştiğinde scroll efektinin süresinin uzunluğu. Varsayılan olarak 1 saniyedir.
Örnek Uygulama
Kontrolümüz ile ilgili bilgi edindikten sonra örnek bir uygulama yapabiliriz. Ofis içerisinde kullanılan bir İntranet uygulaması yaptığımızı var sayalım. Bu uygulama içerisinde kullanıcılar birbirlerini mesaj gönderebiliyorlar. Kullanıcı programını açtığı anda maili olup olmadığını görmek isteyecektir. Yine aynı şekilde sayfa içerisinde dolaşırken mesajı olup olmadığını görmek isteyebilir. Burada Always Visible Control Extender kontrolünü kullanabiliriz. Kullanıcı sayfanın neresinde olursa olsun Always Visible Control Extender kontrolü ile mesajı olup olmadığını görebilir. Artık örneğimize geçebiliriz, yeni bir atlas projesi oluşturalım.
Projemizi oluşturduktan sonra Sayfamızın scroll barların çıkması için biraz uzun bir metin, 1 panel, 1 label 1update panel ve 1 de buton ekleyelim. Benim sayfa tasarımım aşağıdaki gibidir.
Kullanıcı sayfada gezinirken maili olup olmadığını kontrol edebilecek. Bunun için ilk olarak maili olup olmadığını kontrol edecek kodları yazalım.
Private MailSayisi As Integer = 1 ’ bu değer normalde DB’den gelecek Ama bizim amacımız bu değil bu yüzdeb manuel olarak belirledik.
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
MailKontrolET()
End Sub
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
MailSayisi = MailSayisi – 1’ mail okunduğunda mail MailKontrolET fonksiyonu yeniden çalışıyor.
MailKontrolET()
End Sub
Protected Sub MailKontrolET()’ burada mail olup olmadığı kontrol ediliyor.
If MailSayisi > 0 Then
Label1.Text = "Okunmamış Mesajınız Var"
Else
Label1.Text = "Hiç Mesajınız Yok"
End If
End Sub
|
Şimdi artık Always Visible Control Extender kontrolümüzü çalıştıracak kodalara geçelim.
<cc1:AlwaysVisibleControlExtender ID="AlwaysVisibleControlExtender1" runat="server">
<cc1:AlwaysVisibleControlProperties
HorizontalOffset="0"
HorizontalSide="right"
ScrollEffectDuration="0.1"
TargetControlID="Panel1"
VerticalOffset="0"
VerticalSide="Bottom" />
</cc1:AlwaysVisibleControlExtender>
|
Always Visible Control Extender özelliklerinide yazdıktan sonra projemizi çalıştırabiliriz.
Evet, nesnemiz belirlediğimiz gibi sağ alt köşede yer alıyor. Şimdi sayfamızı aşağıya doğru kaydıralım.
Gördüğünüz gibi nesnemizde bizimle birlikte gelir. Şimdi okunmamış olan maili okuyalım ve atlasın başka bir nimeti olan UpdatePanel’den yararlanalım.
Evet, sayfamız yenilenmeden mesajımızı okuduk. Yeni mesajımız var mı yok mu kontrol edebiliyoruz. Normal de bir timer nesnesi ile mailimiz olup olmadığını belirli sürelerle kontrol ettirebilirdik. Ama şuan için bizim esas konumuz bu olmadığı için sadece manuel olarak işlem yaptırdık.
Bu makalenin de sonuna geldik, başka bir makalede görüşmek üzere başarı ve iyi günler dilerim.
Sem GÖKSU
MCP | MCAD.NET
Örnek Kodlar için mail adresimi kullanabilirsiniz
askisem@hotmail.com
Kaynaklar
http://atlas.asp.net