Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303

    [VB.NET]rendere radiobuttun checked

    ho una serie di radiobutton max 12 nominati radiobutton 1....radiobutton12 , in base ad un numero esempio 8 dovrei rendere i primi otto checked il restante uncheked
    mi date una mano, io provo così.

    codice:
      For i As Integer = 1 To CType(ListBox1.Text, Integer)
                Dim radios As String = "RadioButton"
                Dim valore As String = CType(radios, String) & CType(i, Integer)
             '   ........?
      Next

  2. #2
    Utente di HTML.it L'avatar di fu510n
    Registrato dal
    Sep 2005
    Messaggi
    137
    Prova così:

    codice:
    For i As Integer = 1 To CType(ListBox1.Text, Integer)
                Dim radios As String = "RadioButton"
                Dim valore As String = CType(radios, String) & CType(i, Integer)
                DirectCast(Me.Controls(Valore), RadioButton).Checked = True
    Next
    Fusion

    Currency Text Box (Updated: 16 Maggio 2008): http://digilander.libero.it/cmfusion/CurrencyTextBox.html

  3. #3
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303
    Originariamente inviato da fu510n
    Prova così:

    codice:
    For i As Integer = 1 To CType(ListBox1.Text, Integer)
                Dim radios As String = "RadioButton"
                Dim valore As String = CType(radios, String) & CType(i, Integer)
                DirectCast(Me.Controls(Valore), RadioButton).Enabled= True
    Next
    per precisazione i controlli non devono essere checked ma enabled o disabled, ho provato ma non succede nulla i controlli restano tutti abilitati

  4. #4
    Utente di HTML.it L'avatar di fu510n
    Registrato dal
    Sep 2005
    Messaggi
    137
    La proprietà "Enabled" fa riferimento alla possibilità o no di poter interagire con l'oggetto (tramite interfaccia).
    Devi lavorare sulla proprietà "Checked" che fa riferimento allo stato del controllo.

    Checked = True -> Imposta lo stato a Selezionato mostrando il pallino dentro il cerchietto (per rendere l'idea)

    Ho appena fatto una prova con 7 radiobutton e un pulsante che richiama il codice che ti ho postato.
    Ho provato a impostare "Enabled":

    DirectCast(Me.Controls(valore), RadioButton).Enabled = Not DirectCast(Me.Controls(valore), RadioButton).Enabled

    in questo modo lo abilita se è disabilitato e lo disabilita se è abilitato.

    Ho provato anche ad impostare "Checked":

    DirectCast(Me.Controls(valore), RadioButton).Checked = True


    Il tutto funziona benissimo... non so cosa sbagli ma qualcosa la stai sbagliando (controlla con un bel punto di interruzione o una messagebox.show che valore viene letto dalla ListBox)
    Fusion

    Currency Text Box (Updated: 16 Maggio 2008): http://digilander.libero.it/cmfusion/CurrencyTextBox.html

  5. #5
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303
    mi restituisce come eccezione" Riferimento a un oggetto non impostato su un'istanza di oggetto"
    il msg mi ritorna il valore corretto della listbox

  6. #6
    Utente di HTML.it L'avatar di fu510n
    Registrato dal
    Sep 2005
    Messaggi
    137
    Prova ad eseguire il codice passo passo in debug. Vedi che valore ha la variabile "i" nel ciclo in cui ti restituisce l'eccezione.
    Prova anche a controllare i nomi dei radiobutton.
    Fusion

    Currency Text Box (Updated: 16 Maggio 2008): http://digilander.libero.it/cmfusion/CurrencyTextBox.html

  7. #7
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303
    Originariamente inviato da fu510n
    Prova ad eseguire il codice passo passo in debug. Vedi che valore ha la variabile "i" nel ciclo in cui ti restituisce l'eccezione.
    Prova anche a controllare i nomi dei radiobutton.
    bo..
    i nomi sono corretti,
    l'errore è sempre in "DirectCast(Me.Controls(valore), RadioButton).Enabled = True"

  8. #8
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303
    ho provato a verificare
    codice:
     Dim radios As String = "RadioButton"
                For i As Integer = 1 To CType(ListBox1.Text, Integer)
                    Dim valore As String = CType(radios, String) & CType(i, Integer)
                    '  DirectCast(Me.Controls(valore), RadioButton).Enabled = True
                      Console.WriteLine(valore)
                Next
    il risultato è corretto

  9. #9
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303
    questa è davvero bella!,
    allora se io eseguo in un nuovo progetto:

    codice:
     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            ListBox1.SelectedIndex = 0
            For i As Integer = 1 To ListBox1.Text
                Dim radios As String = "RadioButton"
                Dim valore As String = CType(radios, String) & CType(i, Integer)
                DirectCast(Me.Controls(valore), RadioButton).Enabled = True
            Next
    
        End Sub
    il codice funziona,
    ma se lo stesso codice lo voglio inserire in un mio progetto esistente, questo mi và in errore[" Riferimento a un oggetto non impostato su un'istanza di oggetto"], perchè?

  10. #10
    Utente di HTML.it L'avatar di fu510n
    Registrato dal
    Sep 2005
    Messaggi
    137
    :master:
    Mi è venuta in mente una cosa.... ma questi radio button siamo sicuri che sono figli del form? Possibile che sono inseriti in un Panel o in un GroupBox o altro controllo?
    In tal caso non devi usare il codice "Me.Control" ma ad esempio "MioPannello.Controls".

    Verifica e fammi sapere
    Fusion

    Currency Text Box (Updated: 16 Maggio 2008): http://digilander.libero.it/cmfusion/CurrencyTextBox.html

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.