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

Da Gambas-it.org - Wikipedia.
 
(4 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
Per eliminare una scheda (o linguetta) da una "TabStrip", è sufficiente utilizzare il metodo ".Delete" della scheda individuata, purché tale scheda <SPAN Style="text-decoration:underline">sia priva di oggetti su di essa</span>.
+
Per eliminare una scheda (o linguetta) da una ''TabStrip'', è sufficiente utilizzare il Metodo ".Delete" della scheda individuata, purché tale scheda <SPAN Style="text-decoration:underline">sia priva di Oggetti grafici su di essa</span>.
<BR>Bisogna tenere conto anche che <SPAN Style="text-decoration:underline">non</span> è possibile eliminare tutte le schede da una "TabStrip", non essendo possibile l'esistenza di una "TabStrip" senza schede.
+
<BR>Bisogna tenere conto anche che <SPAN Style="text-decoration:underline">non</span> è possibile eliminare tutte le schede da una ''TabStrip'', non essendo possibile l'esistenza di una ''TabStrip'' senza schede.
  
 
====Esempio pratico====
 
====Esempio pratico====
Supponiamo di avere una "TabStrip" con un certo numero di schede contenenti (tutte o alcune) anche eventualmente alcuni oggetti grafici.  
+
Supponiamo di avere una ''TabStrip'' con un certo numero di schede contenenti (tutte o alcune) anche eventualmente alcuni Oggetti grafici.  
<BR>Si provvederà a ripulire ciascuna scheda attiva della "TabStrip" dagli eventuali oggetti grafici, su di esse  presenti, e successivamente la scheda medesima.
+
<BR>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()
 
  Public Sub Button1_Click()
 
   
 
   
Riga 16: Riga 16:
 
  <Font Color=gray>' ''Se vi è più di una scheda attiva, la scheda corrente viene eliminata dalla "TabStrip":''</font>
 
  <Font Color=gray>' ''Se vi è più di una scheda attiva, la scheda corrente viene eliminata dalla "TabStrip":''</font>
 
   If TabStrip1.Count > 1 Then TabStrip1[TabStrip1.Index].Delete
 
   If TabStrip1.Count > 1 Then TabStrip1[TabStrip1.Index].Delete
 +
<Font Color=gray>' ''oppure anche: '''''If TabStrip1.Count > 1 Then TabStrip1.Current.Delete'''</font>
 
   
 
   
 
  End
 
  End
Se si vogliono eliminare con un ciclo le schede, lasciando la sola prima scheda però priva di eventuali Controlli già presenti su di essa all'inizio:
+
Se si vogliono eliminare con un ciclo le schede, lasciando - ad esempio - la sola prima scheda conservandone anche gli eventuali Controlli su di essa presenti:
 
  Public Sub Button1_Click()
 
  Public Sub Button1_Click()
 
    
 
    
 
   Dim ob As Object
 
   Dim ob As Object
 
    
 
    
   Do
+
   TabStrip1.Index = TabStrip1.Count - 1
 +
 +
  While TabStrip1.Index > 0  <Font Color=gray>' ''Se c'è un'altra scheda oltre la prima, si accede al ciclo per eliminarla''</font>
 
     For Each ob In TabStrip1[TabStrip1.Index].Children
 
     For Each ob In TabStrip1[TabStrip1.Index].Children
 
  <Font Color=gray>' ''Elimina gli eventuali oggetti grafici presenti sulla scheda corrente:''</font>
 
  <Font Color=gray>' ''Elimina gli eventuali oggetti grafici presenti sulla scheda corrente:''</font>
 
       ob.Delete
 
       ob.Delete
 
     Next
 
     Next
<Font Color=gray>' ''Se si è giunti alla prima scheda (dunque all'unica ormai presente), si esce dal ciclo:''</font>
+
  <Font Color=gray>' ''Elimina quindi la scheda corrente:''</font>
    If TabStrip1.Index == 0 Then Exit
 
  <Font Color=gray>' ''Elimina la scheda corrente:''</font>
 
 
     TabStrip1[TabStrip1.Index].Delete
 
     TabStrip1[TabStrip1.Index].Delete
   Loop
+
<Font Color=gray>' ''oppure anche: '''''TabStrip1.Current.Delete'''</font>
 +
   Wend
 
    
 
    
 
  End
 
  End

Versione attuale delle 05:40, 3 ago 2023

Per eliminare una scheda (o linguetta) da una TabStrip, è sufficiente utilizzare il Metodo ".Delete" della scheda individuata, purché tale scheda sia priva di Oggetti grafici su di essa.
Bisogna tenere conto anche che non è possibile eliminare tutte le schede da una TabStrip, non essendo possibile l'esistenza di una TabStrip senza schede.

Esempio pratico

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

' Se vi è più di una scheda attiva, la scheda corrente viene eliminata dalla "TabStrip":
 If TabStrip1.Count > 1 Then TabStrip1[TabStrip1.Index].Delete
' oppure anche: If TabStrip1.Count > 1 Then TabStrip1.Current.Delete

End

Se si vogliono eliminare con un ciclo le schede, lasciando - ad esempio - la sola prima scheda conservandone anche gli eventuali Controlli su di essa presenti:

Public Sub Button1_Click()
 
 Dim ob As Object
 
 TabStrip1.Index = TabStrip1.Count - 1

 While TabStrip1.Index > 0  ' Se c'è un'altra scheda oltre la prima, si accede al ciclo per eliminarla
   For Each ob In TabStrip1[TabStrip1.Index].Children
' Elimina gli eventuali oggetti grafici presenti sulla scheda corrente:
     ob.Delete
   Next
' Elimina quindi la scheda corrente:
   TabStrip1[TabStrip1.Index].Delete
' oppure anche: TabStrip1.Current.Delete
 Wend
 
End