MsFlexGrid le oluşturduğumuz hücrelere direk bilgi girmemiz yada bilgileri silmemiz mümkün değildir. Oysa Grid imizin keyPress ve KeyDown olaylarına yazacağımız birkaç kodla hücreleri düzenlemek için aktif hale getirebiliriz. Açıklamalar kod üzerinde yapılacaktır. Not: Örneklerdeki Grid ismi MSFlexGrid olarak alınmıştır. İlgili hücredeki bilgileri del tuşuna basarak silmek için aşağıdaki kodu yazmamız kafi Private Sub MSFlexGrid_KeyDown 'Del tuşuna basıldığında içerik silinecek If KeyCode = 46 Then MSFlexGrid. Text = "" End If End Sub Aşağıdaki kodu formumuza yazarak hücreleri düzenleyebiliriz. Private Sub MSFlexGrid_KeyPress With MSFlexGrid Select Case KeyAscii Case 8: 'IF KEY IS BACKSPACE THEN If. Text <> "" Then. Text = _ Left$(. Text, (Len - 1)) Case 13: 'IF KEY IS ENTER THEN Select Case. Col Case Is < (. Cols - 1): SendKeys " " Case (. Cols - 1): If (. Row + 1) = . Rows Then. Rows = . Rows + 1 End If SendKeys " " + " " End Select Case Else. Text = . Text + Chr$ 'write your own keyascii Validations under 'commented lines Select Case. Col Case 0, 1, 2: 'if (your condition then 'accept only charectors 'Else ' keyascii=0 'End If Case Else: End Select End Select End With End Sub Grid içerisinde sadece sayıların yer almasını istiyorsak. KeyPress olayının içerisine şu kodu ekleyin Dim lennum As Integer 'Sadece sayısal değerler izin ver If IsNumeric(Chr Then MSFlexGrid. Text = MSFlexGrid. Text & Chr 'or Back Key ElseIf KeyAscii = vbKeyBack Then lennum = Len If lennum >= 1 Then MSFlexGrid. Text = Left(MSFlexGrid. Text, lennum - 1) End If Grid içerisinde negatif sayıları da kullanmak istiyorsak KeyPress olayının içerisine aşağıdaki kodu eklememiz kafi Dim lennum As Integer ElseIf KeyAscii = 45 Then If Left(MSFlexGrid. Text, 1) = "-" Then lennum = Len MSFlexGrid. Text = Right(MSFlexGrid. Text, lennum - 1) Else MSFlexGrid. Text = "-" & MSFlexGrid. Text End If Şimdide form1 de hazırladığımız grid içerisindeki değerleri form2 deki grid e aktarmak için basit bir yöntem göreceğiz. Öncelikle form1 ve form2 diye iki form dosyası açalım ve bunların içerisine MSFlexGrid isminde birer grid ve form1 ede bir adet command butonu ekleyelim. Aşağıdaki kodumuzu form1 e kopyalayıp yapıştıralım. Kullanıcı bu komuta tıkladığında form2 deki grid e 2 satır ve 4 sütun ekleyecek, sonra grid in 2. satırının 2. sütununa form1 deki 2. satırın 2. sütunundaki değeri yazacak. Private Sub Command1_Click Form2. MSFlexGrid. Rows = 2 satır sayısı Form2. MSFlexGrid. Cols = 4 ' sütun sayısı Form2. MSFlexGrid. TextMatrix(1, 1) =Form1. MSFlexGrid. TextMatrix(1, 1) Form2. Show End Sub Not: Bende MsFlexGrid konusunda yeniyim. Sizinle bu şu ana kadar bu konuda edindiğim bilgileri paylaştım. Dolayısıyla yazıda bir takım hatalar olabilir. Lütfen hataları ve eleştirilerinizi bana bildirin. Kolay gelsin Levent Özberk leventozberk@yahoo.com > Kitaplar > VB Kitapları