Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    27

    Problema VB.NET Creazione e Eliminazione Controlli in Runtime

    Ciao a tutti,
    sono nuovo del forum e quindi se sbaglio qualcosa perdonatemi.

    Ho un problema abbastanza complicato. In poche parole io in una form ho un datagrid con dei dati, e dei pulsanti.
    Quando premo un pulsante, in base alla riga selezionata mi crea in runtime un numero di textbox.
    Fin qui tutto funziona. Il problema è che quando premo un altro bottone devo eliminare le text box create precedentemente.
    Io per capire i controlli che ho creato, nel nome ho messo "_Del" così poi facendo un For Each Control in Me.controls vado a vedere quelle che contengono il nome _Del e le elimino.
    Il problema sorge qui, le textbox sono posizionate in due linee, una linea la elimina, mentre l'altra no!
    Dal debug step to step sembra che non trova nemmeno quei controlli!
    Non riesco a capire perchè!

    Grazie
    Simo

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Devi sempre mostrare il codice che hai scritto ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    27
    Perdonami.
    Ecco il codice per la creazione delle text box:

    codice:
    textbox = New TextBox
    etich = New TextBox
    textbox.Name = txt & "_Del"
    etich.Name = txt2 & "L_Del"
    Me.Controls.Add(textbox)
    Me.Controls.Add(etich)

    Ed ecco il codice per la cancellazione:


    codice:
    For Each casell In Me.Controls
    	If InStr(casell.Name, "_Del") <> 0 Then
    		Me.Controls.Remove(casell)
        End If
    Next
    Simo

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Prova ad eliminare i controlli così

    codice:
            Dim ctrl As Control
            For ci As Integer = Me.Controls.Count - 1 To 0 Step -1
                ctrl = Me.Controls(ci)
                If InStr(ctrl.Name, "_Del") <> 0 Then
                    Me.Controls.Remove(ctrl)
                End If
            Next
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    27
    Funziona!

    Grazie 1000!
    Simo

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.