Impedire in una DrawingArea che si esegua il codice presente nell'Evento " Draw()" , qualora sia sollevato arbitrariamente più di una volta
Da Gambas-it.org - Wikipedia.
Versione del 2 mag 2023 alle 21:44 di Vuott (Discussione | contributi)
Come è noto, l'Evento "_Draw()" del Controllo DrawingArea viene sollevato all'inizio per tre volte. Può essere sollevato arbitrariamente anche più di una volta, anche qualora venga sollecitato legittimamente dal previsto codice nel prosieguo del programma.
Per impedire che una volta sollecitato, l'Evento "_Draw()" della DrawingArea sia sollevato arbitrariamente per più della volta richiesta, possiamo adottare lo stratagemma, qui riportato all'interno dell'Evento "_Draw()":
Private DrawingArea1 As DrawingArea Private c As Integer Private i As Integer Public Sub _new() With Me .Center .W = Screen.AvailableWidth .H = Screen.AvailableHeight .Arrangement = Arrange.Fill End With With DrawingArea1 = New DrawingArea(Me) As "DrawingArea1" .Background = Color.White End With End Public Sub Form_Open() Me.Show Do Inc c Wait 0.3 If Object.IsValid(DrawingArea1) Then DrawingArea1.Refresh Else Break Endif Loop End Public Sub DrawingArea1_Draw() If c == i Then Inc c Return Endif i = c Print i End