11
votes

Comment puis-je remplacer Microsoft's DataGridView pour permettre la mise en mémoire tampon de retour dans vb.net?

Mon DataGridView flickers et est très lent lors du chargement. J'ai réfléchi à DatGridView de Microsoft et a découvert qu'il existe une propriété de mémoire tampon arrière qui n'est pas visible de la WinForm. Comment puis-je définir cette propriété?


0 commentaires

4 Réponses :


8
votes

Pour une raison quelconque, Microsoft a placé la propriété DoubleBuffered, mais ne nous a pas permis de l'allumer. Vous pouvez détourner le système à l'aide de sous-classement. xxx

dans votre programme, vous pouvez ensuite le construire et la nouvelle classe doit apparaître dans votre boîte à outils. Une fois là-bas, vous êtes libre de le faire glisser et l'utiliser comme s'il s'agissait d'une valeur de DataGridView normale avec de meilleures capacités de dessin.

espère que cela aide.


1 commentaires

Je suis nouveau à cela, pas sûr de ce que c'était. S'il s'agit d'un wiki où cela pourrait être utile, je voulais l'ajouter.



5
votes

J'utiliserais une liste de réception, il n'a pas les mêmes problèmes qu'un DataGridView fait.


0 commentaires

4
votes

J'essaie d'utiliser DataGridView's aussi peu que possible que possible, car ils sont très complexes. J'utiliserais une liste de liste car il remplit beaucoup plus rapidement.


0 commentaires

3
votes

Que diriez-vous d'essayer une liste et de l'ajouter de manière programmatique à une zone de texte multiligne. C'est très rapide et efficace.

 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


0 commentaires