Differenze tra le versioni di "Eliminare una scheda da una TabStrip"

Da Gambas-it.org - Wikipedia.
Riga 13: Riga 13:
 
   Next
 
   Next
 
   
 
   
  <Font Color=gray>' ''Viene dunque con sicurezza eliminata dalla "TabStrip" la scheda corrente attiva:''</font>
+
  <Font Color=gray>' ''Viene dunque con sicurezza eliminata dalla "TabStrip" la scheda corrente attiva.''
   TabStrip1[TabStrip1.Index].Delete
+
' ''Resterà soltanto l'ultima scheda, non essendo possibile l'esistenza di una "TabStrip" senza schede.''</font>
 +
   If TabStrip1[TabStrip1.Index] > 0 Then TabStrip1[TabStrip1.Index].Delete
 
   
 
   
 +
'''End'''
 +
 +
Se si vogliono eliminare con un ciclo le schede (tenendo comunque conto che si dovrà lasciare attiva una scheda, non essendo possibile l'esistenza di una "TabStrip" senza schede):
 +
'''Public''' Sub Button1_Click()
 +
 
 +
  Dim ob As Object
 +
 
 +
  Do
 +
    For Each child In TabStrip1[TabStrip1.Index].Children
 +
<Font Color=gray>' ''Elimina gli eventuali oggetti grafici presenti sulla scheda corrente:''</font>
 +
      ob.Delete
 +
    Next
 +
<Font Color=gray>' ''Se si è giunti alla prima scheda (dunque all'unica ormai presente), si esce dal ciclo:''</font>
 +
    If TabStrip1.Index == 0 Then Exit
 +
<Font Color=gray>' ''Elimina la scheda corrente:''</font>
 +
    TabStrip1[TabStrip1.Index].Delete
 +
  Loop
 +
 
 
  '''End'''
 
  '''End'''

Versione delle 16:29, 1 giu 2021

Per eliminare una scheda (o linguetta) da una TabStrip, è sufficiente utilizzare il metodo ".Delete" della scheda individuata, purché tale scheda sia priva di oggetti su di essa.


In questo esempio supponiamo di avere una "TabStrip" con un certo numero di schede contenenti (tutte o alcune) anche eventualmente alcuni oggetti grafici.
Si provvederà a ripulire ciascuna scheda attiva della "TabStrip" dagli eventuali oggetti grafici, su di esse presenti, e successivamente la scheda medesima.

Public Sub Button1_Click()

 Dim ob As Object

' Viene eliminato dalla scheda attiva corrente ogni eventuale oggetto ivi presente:
 For Each ob In TabStrip1[TabStrip1.Index].Children
   ob.Delete
 Next

' Viene dunque con sicurezza eliminata dalla "TabStrip" la scheda corrente attiva.
' Resterà soltanto l'ultima scheda, non essendo possibile l'esistenza di una "TabStrip" senza schede.
 If TabStrip1[TabStrip1.Index] > 0 Then TabStrip1[TabStrip1.Index].Delete

End

Se si vogliono eliminare con un ciclo le schede (tenendo comunque conto che si dovrà lasciare attiva una scheda, non essendo possibile l'esistenza di una "TabStrip" senza schede):

Public Sub Button1_Click()
 
 Dim ob As Object
 
 Do 
   For Each child In TabStrip1[TabStrip1.Index].Children
' Elimina gli eventuali oggetti grafici presenti sulla scheda corrente:
     ob.Delete
   Next
' Se si è giunti alla prima scheda (dunque all'unica ormai presente), si esce dal ciclo:
   If TabStrip1.Index == 0 Then Exit
' Elimina la scheda corrente:
   TabStrip1[TabStrip1.Index].Delete
 Loop
 
End