2010-09-03 12 views

cevap

8

Microsoft, DoubleBuffered özelliğini oraya koydu, ancak açmamıza izin vermedi. SubClassing kullanarak sistemi ele geçirebilirsiniz.

Public Class MyDataGridView 
    Inherits DataGridView 

    Sub New() 
     MyBase.New() 

     Me.DoubleBuffered = True 
    End Sub 
End Class 

Programınızda bunu yapabilirsiniz ve yeni sınıf araç kutunuzda açılır. Bir kez orada sürüklemek ve daha iyi çizim yetenekleri ile normal bir DataGridView sanki onu kullanmakta serbesttirler.

Bu yardımcı olur umarım.

+0

Post community wiki'nizi neden yaptınız? –

+0

Bunun için yeniyim, ne olduğundan emin değilim. Bunun kullanışlı olabileceği bir wiki ise onu eklemek istedim. –

5

Bir liste görünümünü kullanırım, bir datagridview ile aynı sorunlara sahip değildir.

4

Datagridview'i çok karmaşık olduklarından mümkün olduğunca az kullanmaya çalışıyorum. Çok daha hızlı dolduğunda bir liste kutusu kullanırdım.

3

Bir Listeyi denemeye ve programlı olarak çok satırlı bir metin kutusuna eklemeye ne dersin. Bu çok hızlı ve verimli.

Dim tbox As New TextBox 

    Dim bobs As New List(Of String) 

    bobs.Add("Williams") 
    bobs.Add("Stephens") 
    bobs.Add("Thomas") 
    bobs.Add("Brown") 
    bobs.Add("Knauff") 

    For Each str As String In dinosaurs 
     tbox.Text &= str & vbNewLine ' &= ensures you add the str not overwrite the previous data/vbnewline works as a cr(carriage return) and an lf(line feed)' 
    Next 
İlgili konular