Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [vb.2005] Rimuovere i controlli creati

    Ciao a tutti...

    da una listbox...
    se seleziono due items
    creo due textbox in runtime ognuna delle quali contiene l'item

    se seleziono per esempio dalla listbox
    0 -ciao
    1 - ciccio

    creo in runtime due
    text avente proprietà .text, una ciao, un'altra ciccio...


    la procedura o meglio il ciclo che mi crea questo
    e legato al evento click di un pulsante....

    ora se devo modificare la textbox appena creata...
    devo distruggerla ( oppure esiste un metodo per refresharla? )
    e ricrearla
    sapete come devo procedere??

    grazie e ciao


    codice:
    Public Class report
    
    Dim AllTextBox() As System.Windows.Forms.TextBox
    
    Private Sub btnData_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnData.Click
    
    Dim dimension As Integer = lstData.SelectedItems.Count - 1
    
                'RemoveTxt(dimension)
    
                ReDim AllTextBox(dimension)
    
                For i As Integer = 0 To dimension
    
                    Dim txt As New System.Windows.Forms.TextBox
    
    
                    With txt
                        .Location = New System.Drawing.Point(i * 120 + 94, 49)
                        .Name = "txtRange"(i) & i.ToString
                        .Size = New System.Drawing.Size(100, 20)
                        .Text = lstData.SelectedItems.Item(i)
                        .TextAlign = HorizontalAlignment.Right
    
                    End With
    
    
    
                    AllTextBox(i) = txt
                    AllTextBox(i).Visible = True
                    Me.Controls.Add(AllTextBox(i))
                    Me.GroupBox4.Controls.Add(AllTextBox(i))
    
                Next
    
    End Sub
    End Class

  2. #2

    Re: [vb.2005] Rimuovere i controlli creati

    Originariamente inviato da ferrate
    ora se devo modificare la textbox appena creata...
    devo distruggerla ( oppure esiste un metodo per refresharla? )
    e ricrearla
    Perché distruggerla? Cosa ti ha fatto di male? Semplicemente cambia la sua proprietà Text (e/o eventualmente altre proprietà) al nuovo valore che le vuoi assegnare.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    questo ciclo for crea l'oggetto txt...
    ma se cambio selezione da lstbox...

    mi rimane quella precedente...
    nn c'è nn modo per aggiornare .text??

  4. #4
    Continuo a non capire il problema: se bisogna aggiornare il contenuto di un textbox allora modificane la proprietà Text, se devi rimuovere il textbox allora usa
    codice:
                    Me.Controls.Remove(textbox)
                    Me.GroupBox4.Controls.Remove(textbox)
                    textbox=Nothing
    dove textbox è una variabile contenente un riferimento al controllo da rimuovere.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    scusa M.italy per sbaglio ti ho inviato un messaggio personale...

    perdono.. ti riposto qua il problema

    come vedi dal codice che ho postato,
    genero la variabile (i) nel ciclo for...

    come posso accedere alla variabile
    da un altro controllo, tipo un evento pulsante.click

    con le sub create ad hoc funziona
    che, chiama la Sub e gli invii By Val o Ref il valore...

    ma se devi mandarglielo per esempio a

    Private Sub btnUndo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUndo.Click

    come si fa??

    grazie

  6. #6
    Rendi l'array di controlli membro privato della classe invece che variabile locale della procedura.
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.