Skip to main content

AccessTr.neT


TextBox Nedir ? Nasıl Kullanılabilir ?

DUAYEN
DUAYEN
6
23313

TextBox Nedir ? Nasıl Kullanılabilir ?

#1
TextBox adından anlaşılacağı gibi bir metin kutusudur. Çalışmalarınızda metin kutuları olmazsa olmazlardandır. Hemen hemen programcıların % 99' u Textbox nesnelerinden yararlanırlar. Peki nedir bu TextBox nesnesi ? Biraz inceleyelim :

TextBox içine veri girebilirsiniz. Bir işlemden sonra sonucu Textbox içerisine yazdırabilirsiniz. TextBox' lar ile hesaplamalar yaptırabilirsiniz. Yine hesaplamaların sonuçlarını TextBox' lar içerisinde gösterebilirsiniz. Bu nesne ile veri girişleri, veri değişiklikleri yaptırabilirsiniz. Sayfa içerisnde ya da veritabanı içerisindeki işlemlerinizde bu nesneden yararlanarak transferler, listelemeler kolaylıkla yapılabilir. İçerisine girilen verileri kontrol ettirebilir, kullanıcılara sayısal veri girişi zorlaması ya da metinsel veri girişi zorlaması yaptırabilirsiniz. Yahut da tarih verisi girişi konusunda kullanıcınızı zorlayabilirsiniz. Hata denetimleri aracılığıyla , TextBox içine girilen veri türlerini kontrol ettirip, MsgBox nesnesi ile kullanıcıyı hatalara karşı ikaz edebilirsiniz.

TextBox' ların otomatik çalışacak ( Event )olaylarının özelliklerine bakalım:

AfterUpdate
Bu özellik TextBox içerisine bir veri girilmeden önce aktifleşir. TextBox Exit olayına göre daha önce tetiklenir.

BeforeUpdate
Bu özellik de After özelliğindekinden biraz farklı olarak veri girildikten sonra çıkıldığında, Exit olayından önce çalışır.

BeforeDragOver
TextBox nesnesine yazılmış bir veriyi, tümünü yahut bir bölümünü işaretleyerek başka nesne içerisine/üzerine sürüklemek istediğinizde olayın başladığını bu özellik algılar. Sürükleme işlemi tamamlanmadan önce bu özellik çalışmaya başlayacaktır.

BeforeDropOrPaste
TextBox nesnesine bir veri sürüklenip bırakıldığında, ya da bir yerden bir veri kopyalanıp TextBox içine yapıştırılmak istendiğinde çalışmaya başlayacak olan özelliktir. Değişiklikleri algılayan özellik olan Change özelliğinden de önce çalışır.

DragDrop olaylarının çalışabilmesi için TextBox' ların UserForm yüklemesi yapıldığı zaman DragBehavior özellikleri aktif edilmelidir.
TextBox1.DragBehavior = fmDragBehaviorEnabled satırını UserForm_Initialize olayına yazarsanız, içine girilen verileri seçip başka nesneler üzerine sürüklemenize izin verilir. Bu arada yukarıdaki iki özellik projelerinizde varsa çalışacaktır.

Change
TextBox içine herhangi bir veri girildiğinde yahut girilen veride değişiklik yapıldığında tetiklenir.

DoubleClick
Nesne üzerinde sol fare tuşuna arka arkaya iki kere basıldığında, çift tıklama olayı olarak bu özellik çalışmaya başlar.

Enter
TextBox nesnesi seçili değil iken, nesneyi seçtiğiniz, içine fare işaretçisi ile girdiğiniz anda çalışmaya başlayacak olan özelliktir.

KeyDown
TextBox nesnesinde iken, klavyeden herhangi bir tuşa bastığınız anda bu özellik devreye girer ve çalışmaya başlar. Basılmaya başlama hissedildiğinde tetiklenir.

KeyPress
TextBox seçili iken klavyeden bir tuşa basılma işlemi sırasında çalışır. KeyDown' dan farkı basılma olduğunda çalışır. Basılma başladığında Keydown çalışır.

KeyUp
Basılma işlemi tamamlanıp klavyedeki baskı bittiğinde devreye girer. Kısaca klavyeden parmağınızı çekmeye karar verdiğinizde çalışır. Key olayları aynı zamanda ekran klavyesi ile de çalışırlar.

MouseDown
Fare işaretçisi ile kutu üzerine gidilip seçildiğinde çalışmaya başlar.

MouseMove
Fare işaretçisi TextBox üzerine gittiği anda çalışmaya başlayacak olan özelliktir.

MouseUp
Fare işaretçisi nesne üzerinden ayrıldığında bu olay devreye girer ve sizin istediğiniz kodları çalıştırmaya devam eder.


TextBox nesnesini hem Excel sayfası içerisinde, hem de UserForm projelerinizde kullanabilirsiniz. Form çalışmalarında Me.TextBox1..., UserForm1.TextBox1... şeklide ifade edilebilirken, sayfa içerisindeki TextBox' ları Sayfa1.TextBox1..., EVN.TextBox1... gibi atıflarla kullanabilirsiniz.



TextBox' ların (Structure) özelliklerini inceleyelim:

.AutoSize
True ve False özellikleri vardır. True yaptığınızda içine veri girildikçe boyutu değişecektir.

.BackColor
Arka plan rengini belirlemek için kukllanılır. Örneğin .BackColor =vbYellow komutu arka planını sarı yapar.

.BackStyle
Bu özelliğin altında fmBackStyleOpaque ve fmBackStyleTransparent özellikleri vardır. Transparan seçtiğinizde, varsayılan arka plan rengi kullanılamaz, nesne şeffaf olur.

.BorderColor
Çerçeve rengini belirlemek için kullanılan özelliktir. Örneğin .BorderColor = vbRed komutu çerçeve rengini kırmızı yapar.

.BorderStyle
Bu özelliğin altında fmBorderStyleSingle ve fmBorderStyleNone özellikleri bulunur. None seçerseniz çerçeve görünümünü iptal etmiş olursunuz. :Single ile çerçeve yine görünür olur.

.ControlTipText
TextBox nesnesi üzerinde fare işaretçinizi beklettiğinizde eğer özellik devreye alınmış ise, bir iki saniye içinde bir ipucu metni açılır. Bu özellik ile kutucuklarınızın ne işe yaradıkları, yahut ne tür veri girileceği vb.. açıklamalar ekleyebilirsiniz.

.Copy
Kopyalama özelliğidir. TextBox içinde yazılı bir verinin bir kısmını yahut tamamını seçtiğinizde, bu komutu da bir butona ya da olaya aktardığınızda (çift tıklama gibi bir olay olabilir), seçilmiş olan kısım clipboard (kopyalama) paneline eklenecektir. Yapıştır yaptığınızda kopyalamış olduğunuz bölüm yapıştırılır. ister başka bir nesneye, ister herhangi bir programa, sayfaya vs..

.CurLine
Nesne içerisindeki Cursor' un hangi satırda olduğunu tespit etmek için kullanılır. Bunun için öncelikle MultiLine özellğinin True olması gerekir. Birden fazla satırlıl TextBox veri girişlerinde 2.nci satırda iken Msgbox TextBox1.CurLine komutunu çalıştırdığınızda, bulunduğunuz satır sayısını index olarak verir. İlk satır 0 nolu değerdir. İkinci satır 1 nolu değerdir vb..

.CurTargetX
Hedef Cursor' un hangi pozisyonda olduğunu X koordinatı cinsinden verir. CurX tek satırda çalışır, CurTargetX çoklu satırlarda çoklu değer özelliğine göre koordinat verebilir.

.CurX
Cursor' un bulunduğu X koordinatını verir.

.Cut
Bilinen kesme işlemini yapar. Seçilen kısmı keser. Kopyalama paneline alır. Daha sonra kestiğiniz kısmı dilerseniz herhangi bir yere yapıştırabilirsiniz.

.DragBehavior
Yukarıdaki DragDrop olaylarında bahsettiğim gibi, nesne içerisindeki bir veriyi sürüklemek için kullanabileceğimiz prosedürdür. İki tane alt özelliği vardır. fmDragBehaviorEnabled ve fmDragBehaviorDisabled. Enable özelliği aktif eder, diğeri pasif eder. Enable Disable özelliklerinin ne olduğunu ayrıştırabilmek için seneler önce kendime bir taktik geliştirmiştim. Enable Enter yani giriş çağrıştırıyor. Disable adı da Disconnect yani bağlantı iptali, pasiflik çaşrıştırıyordu. Hangisi aktif hangisi pasif diye düşünecek olursanız bu taktiği önerebilirim.

.Enabled
True ve False olarak iki tane özelliği vardır. False yapıldığında, TextBox içinde bir veri varsa müdahale edilemez olur ve silinik görünür. True ile de işlemin tam tersini yaparsınız.

.Font
Bu özelliğin altında bir çok özellik daha bulunur. Örneğin .Bold , .Italic , .Size , .Name , .UnderLine vb.. Bütün bunlar ile yazılı bir veriyi biçimlendirebilirsiniz. Koyu yazım, altı çizgili, üstü çizgili, eğik vb..

.ForeColor
TextBox içindeki veriyi renklendirmek için kullanabilirsiniz. Örneğin .ForeColor = VbBlue komutu ile veriyi mavi renge boyarsınız.

.Height
Yükseklik demektir. TextBox nesnesinin yükseklik değerini bu özellik ile değiştirebilirsiniz.

.HideSelection
Bu özellik sayesinde TextBox içinden seçilen bir kısmı, başka bir nesneye geçmiş olsanıs bile seçili göstermeye devam edebilirsiniz. True ve False özelliklerinden False özelliğini aktif ederseniz, seçtiğiniz kısım her zaman seçili durumda görünecektir. True ile bunun tam tersini yapabiliyorsunuz.

.Left
Nesnenin sola yanaşıklık değerini bu özellik ile değiştirebilirsiniz.

.LineCount
TextBox içerisinde kaç satır veri olduğunu bulmak için kullanabilirsiniz. Ancak olayı bir buton ile çalıştırmak istiyorsanız, öncesinde SetFocus ile nesnenin seçili olması gerektiğini unutmayın.

.Locked
Bu özelliğin de True ve False olmak üzere iki alt özelliği vardır. Eğer .Locked = True komutu çalıştırdıysanız, aynen Enabled özelliğinde olduğu gibi değişikliklere kilitlenmiş olacaktır. Ama Enabled özelliğindeki gibi silikleşmeyecektir. Seçilebilmesi de mümkün olacaktır. Ortak yanları kilitli olmasıdır. False ile özelliği iptal edebiliyorsunuz.

.MaxLength
En fazla girilecek karakter değerini belirleyebileceğiniz özelliktir. Mesela TC numarası standartta 11 karakterdir. Bu özelliği 1 olarak ayarladığınızda, 11 karakterden fazla veri girişini önlemiş olursunuz. Güzel bir özelliktir. Kod yazarak karakter saydırmaktansa bu özelliği devreye alabilirsiniz. Tavsiye ederim.

.MouseIcon ve .MousePointer
Pointer kısmının bir çok özelliği vardır. Bu özellikleri deneyerek , fare işaretçinizin nesne üzerine geldiğinde hangi şekle büründüğünü görebilirsiniz. Bu özelliklerden fmMousePointerCustom seçtiğinizde, MouseIcon özelliğine eklemek istediğiniz özel fare işaretçi dosyasını kullanabilir durumda olursunuz. Pointer özelliğinden Custom seçmediyseniz, icon özelliğine ekleyeceğiniz fare işaretçisini (*.cur, *.ico) göremeyeceğinizi unutmayın.

.Move
Taşımak anlamında gelir. UserForm üzerindeki TextBox nesnenizin yerini Move özelliği ile değiştirebilirsiniz. Move hazır bir fonksiyondur ve temelde 4 özelliği kapsar. Left, Top, Width, Height. bu değerler ile de sola ve üste yanaşıklık durumlarını, yükseklik ve genişlik değerlerini ayarlayabilirsiniz.

.MultiLine
Yukarıdaki bir satırda bahsi geçen bu özellik, TextBox nesnesine alt alta satırlı veri girmenize yardımcı olur. True yapıldığında nesne içerisnde Alt + Enter tuşları ile satır başı yapmanıza olanak verir. Kesintisiz cümleler yazdığınızda, bu özellik True değil ise, yazdıkça TextBox' ın genişliğine bağlı olarak tek satır üzerinde verilerin sola kaydığını görürsünüz.
Özelliği aktif ettiğinizde, TextBox nesnesinin genişliğine ulaştığınızda, devam eden karakterlerin alt satırlara kaydığını görürsünüz. Çoklu satır uygulama yapacaksanız bu özelliği kullanmanızı tavsiye ederim.

.Name
İsim almak özelliği ile TextBox nesnenizin tam adını öğrenebilirsiniz.

.PasswordChar
TextBox nesnenizi eğer şifre giriş kutusu olarak kullanmak isterseniz, hangi tuşa basarsanız basın, görüntüde sizin belileyeceğiniz karakter görüntülenecektir. Genellikle * (yıldız) tuşu kullanılır. ama siz istediğiniz karakteri kullanmakta elbetteki özgürsünüz.

.Paste
Yapıştır özelliği. TextBox nesnesine bir veri yapıştırılmak isteniyorsa, bu komutu kullanabilirsiniz.Örneğin Excel sayfasına geçin ve herhangi bir hücre içerisine ExcelVBA.Net yazın ve kopyalayın. Sonra TextBox nesnesini seçip yapıştır olayını bu komutla deneyin.

.SelectionMargin
TextBox nesnesine veri girildiğinde, dikkat edeniniz oldu mu bilemiyorum ama baş tarafta yaklaşık bir karakterlik bir marj boşluğu bırakır. Bu boşluğu kaldırmak ve veriyi sol kısma dayamak isterseniz .SelectionMargin = False özelliği ile çözüme ulaşabilirsiniz. Ben bazı işlemlerimde kullanırım. Özellikle TextBox genişliğinin önemli olduğu yerlerde ve verinin nesne içine sığma sorunu yaşadığım noktalarda...

.SelLength
TextBox nesnesinde seçilen kısmın seçim karakter sayısını almak için kullanılabilir.

.SelStart
TextBox içerisinde seçilecek/seçilen kısmın başlangıcını verir.

.SetFocus
TExtBox nesnesinin seçili olmasını, daha doğrusu Cursor' un nesne içinde olmasını sağlayacak olan özelliktir.

.TabIndex
Form üzerinde bir çok nesne kullanıyorsanız, TAB tuşu ile bunlar arasında dolaşmak istiyorsanız, bu özelliği kullanarak, dolaşım sırasını belirleyebilirsiniz.

.TabKeyBehavior
Bu özellğin altında da True ve False olarak iki seçenek var. Normal şartlarda varsayılan değer False olarak gelir. Bu sayede de TextBox içinde iken TAB tuşuna bastığınızda, Tabindex sırasındaki nesneye geçersiniz. Buradaki .TabKeyBehavior değerini True yaptığınızda, nesneden başka nesneye geçmek yerine, nesnenin içinde yaklaşık 3-4 karakterlik boşluk atarak yazmaya devam edebilmenizi sağlayacak tab boşluğu verir.

.TabStop
TAB tuşuna bastığınızda, nesnenin .TabStop değeri True ise seçilir, False ise, nesne TAB ile dolaşımdan etkilenmez, seçilmez.

.Tag
Bu özellik içerisinde herhangi bir değer saklayabilirsiniz. nesnelerinizi bu özellik ile belirli kriterlere göre gruplayabilirsiniz. Kodlarınızı kullandığınızda bu gruplanmış değerlerde işlemler yaptırmayı sağlayabilirsiniz.

.Text ve .Value
.Text ve .Value özellikleri nesne içerisindeki değerleri taşır. Aslında ikisi de aynı manada kullanılabildiği gibi, size tavsiyem, Text olarak kullanımda metinsel, Value ile olan kullanımlarınızda sayısal değerleri taşıtmanız. Hoş ben tüm çalışmalarımda çoğunlukla Value ile çalışırım ama hocanın dediğini yap, yaptığını yapma demişler. Siz bilirsiniz.

.TextAlign
Verinin yanaşıklık özelliğidir. 3 ayrı alt özelliğe sahiptir. Bu özelliklerden fmTextAlignCenter ile veriyi nesne içinde ortalayabilirsiniz, fmTextAlignLeft özelliği ile sola yanaştırırsınız, fmTextAlignRight özelliği ile de sağa yanaştırırsınız.

.TextLength
Veri uzunluğunu verir. Nesnedeki boşluklar dahil, kaç karakter kullanıldığını bu özellik ile bulabilirsiniz. Nesne içerisindeki uzunluğu, Multiline özelliği True olsa da doğru verecektir.

.Top
Üst yanaşıklıktır. Bu değeri değiştirerek nesneyi bulunduğu pozisyondan daha üst kısıma taşıyabilirsiniz.

.Visible
Görünürlük özelliğidir. Nesnenin Visible özelliği True ise Form üzerinde görünür, False ise gizlenir.

.Width
Genişlik özelliğidir. Bu değeri kodlarınızla değiştirerek farklı uzunluklara dönüştürebilirsiniz.

Faydalı olması dileğiyle ...


Bizim için zor diye bir şey yoktur, imkansızsa zaman alır...
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da

Bu Konudaki Yorumlar
TextBox Nedir ? Nasıl Kullanılabilir ? - Yazar: DUAYEN - 08/06/2011, 11:17
Task