Autore Topic: Panel  (Letto 1662 volte)

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Panel
« il: 04 Maggio 2008, 16:28:50 »
mettiamo il caso di avere 10 textbox posizionate in un panel

si puo cancellare il testo delle text box con un unico comando o lo si deve fare cancellandolo una per una?

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Panel
« Risposta #1 il: 04 Maggio 2008, 16:53:11 »
Una differenza macroscopica col VB è proprio quella di non avere la possibilità di creare una matrice di widget indirizzabili con un indice.
L'unica soluzione che mi viene in mente è quella di utilizzare la proprietà Group() ed impostare un gruppo unico per tutti i Textbox e poi scorrerli con un FOR EACH.
Visita il mio sito personale: http://www.leonardomiliani.com

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: Panel
« Risposta #2 il: 04 Maggio 2008, 16:56:14 »
mi sembra comunque un modo abbastanza comodo ..
grazie mille leo!

Offline giulio

  • Maestro Gambero
  • ****
  • Post: 280
    • Mostra profilo
Re: Panel
« Risposta #3 il: 04 Maggio 2008, 19:51:51 »
Oppure un'altra soluzione è questa:

Codice: [Seleziona]

DIM hControl AS Object
 
  FOR EACH hControl IN Panel1.Children
   
    IF object.Type(hControl) = "TextBox" THEN
      hControl.text = ""
    ENDIF
     
  NEXT  


posto che i textbox siano "figli" del panel. ciao.

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: Panel
« Risposta #4 il: 04 Maggio 2008, 20:22:29 »
ottima soluzione la tua giuglio!

ma permetti una domanda , per avere un textbox figlio di un panel(non è una parolaccia! :-) ) basta disegnare la textbox sopra ad un panel o sbaglio?

g.paolo

  • Visitatore
Re: Panel
« Risposta #5 il: 04 Maggio 2008, 21:04:44 »

Esatto! E se controlli nella finestra gerarchia, i controlli disegnati all'interno di un panel dovranno essere "rami" del panel. Il controllo gerarchico ti da una mano per capire le dipendenze tra i vari oggetti.

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: Panel
« Risposta #6 il: 04 Maggio 2008, 21:10:29 »
perfetto!!!  
grazie a tutti!!

  • Visitatore
Re: Panel
« Risposta #7 il: 17 Novembre 2008, 22:47:19 »
Ciao

ho questo codice

PUBLIC SUB close_Click()
DIM item AS TextArea
FOR EACH item IN tab.Current.Children
item.Delete
NEXT
WAIT 0.1
tab.Current.Delete
END

Ho solo una text area dentro una tab.
Se cancello direttamente la tab vi và in errore ( la tab nn è vuota )
Quindi ovvio così .... è l'unico sistema ?
Funziona ma fà schifo ....

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Panel
« Risposta #8 il: 18 Novembre 2008, 09:53:54 »
Riguardo le Tab, mi viene in mente un'altra soluzione, che non ho ancora applicato, ma che potrebbe risolvere il problema dell'eliminazione delle tab con oggetti presenti al suo interno:

- creare un'oggetto Form nascosto
- reparentare gli oggetti figli della tab alla Form (metodo Reparent())
- eliminare la tab
- eliminare la form

è da provare, ed è anche un pò da smanettone, ma potrebbe funzionare...