Как переопределить представление данных Microsoft для разрешения обратной буферизации в VB.NET? - PullRequest
11 голосов
/ 03 сентября 2010

Мое представление данных мигает и очень медленно загружается.Я отразил обзор сетки данных от Microsoft и обнаружил, что есть свойство заднего буфера, которое не видно из winForm.Как мне установить это свойство?

Ответы [ 4 ]

8 голосов
/ 03 сентября 2010

По какой-то причине Microsoft добавила туда свойство DoubleBuffered, но не разрешила нам его включить. Вы можете захватить систему с помощью SubClassing.

Public Class MyDataGridView
   Inherits DataGridView

   Sub New()  
      MyBase.New()

      Me.DoubleBuffered = True
   End Sub
End Class

В вашей программе вы можете затем построить его, и новый класс должен появиться в вашем наборе инструментов. Оказавшись там, вы можете свободно перетаскивать его и использовать, как если бы это был обычный DataGridView с улучшенными возможностями рисования.

Надеюсь, это поможет.

5 голосов
/ 02 октября 2010

Я бы использовал просмотр списка, он не имеет тех же проблем, что и просмотр данных.

4 голосов
/ 02 октября 2010

Я стараюсь использовать datagridview как можно меньше, поскольку они очень сложны.Я бы использовал список, так как он заполняется гораздо быстрее.

3 голосов
/ 07 октября 2010

Как насчет того, чтобы попробовать List и добавить его программно в многострочное текстовое поле.Это очень быстро и эффективно.

 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...