Ciò avviene perchè ad ogni modifica, il controllo viene ridisegnato completamente.
In questi casi di solito l'uso della funzione LockWindowUpdate risolve egregiamente il problema.
In un modulo BAS aggiungi la dichiarazione:
dopo la puoi usare dove sai di modificare qualcosa 'pesantemente'.codice:Public Declare Function LockWindowUpdate Lib "user32.dll" (ByVal hwndLock As Long) As Long
La prima chiamata disattiva il disegno , la seconda lo riattiva ed esegue il refreshcodice:LockWindowUpdate mshflexgrid1.hWnd ' ' ciclo di elaborazioni pesante ' LockWindowUpdate 0
Attento che non puoi annidare le chiamate di LockWindowUpdate, ma devono essere sempre consecutive ed in coppia.
Vedi la guida di Microsoft per i dettagli.
![]()

Rispondi quotando