Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    20

    Attivare un comando in un form da un altro form

    Salve....ci sono due form, rispettivamente Form1 Form2.Nella Form1 c'è una combobox1 con due items che sono rispettivamente aaa e bbb.
    Nella Form2 ci sono 2 RadioButton ,RadioButton1 e RadioButton2.
    Dalla Form1 selezionando all'interno della ComboBox1 aaa voglio attivare il comando di spunta nella RadioButton1 del Form2....Come si fa?

    Ho gia provato a scrivere questo codice nella ComboBox1 del Form1:

    Private Sub ComboBox1SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

    Dim frm2As New Form2
    If ComboBox1.SelectedItem = "aaa" Then
    frm2.RadioButton1.Checked = True
    End If
    End Sub
    ......ma non funziona un bel niente.....dove sbaglio.....???????
    Enrico

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    20
    Scusate io uso VB.Net
    Enrico

  3. #3
    ma i due form sono aperti in contemporanea?
    I database... la mia passione + o -

  4. #4
    ma i due form sono aperti in contemporanea?
    Appunto, devono essere aperti contemporaneamente altrimenti chi gestisce l'evento?

    poi...

    Secondo me dovresti fare un telaio di classi o comunque di contenitori dati, perchè metti che un giorno al posto dei 2 radio-button hai 2 classici pulsanti che fai, cambi codice quando magari i radio-button sono diventati 150. Oppure metti che avrai bisogno di avere più di un radio-button cliccato? Io farei una cosa del genere:

    Form1:
    - la combo e ad ogni modifica salva quelli selezionati nella classe a

    Classe a:
    - un contenitore dati per individuare solo quelli selezionati

    Form2:
    - ogni volta che viene aperta legge i dati dalla classe A e seleziona i radio-button di conseguenza

    Ciao!
    Cerco ombrello vecchio, nuovo, moderno o antidiluviano; purché protegga da una pioggia che vien giù come Dio la manda. Fate presto che ho l’acqua alla gola. (Noè)

    C# programming and other stuffs

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    20
    Se all'interno di un evento button scrivo il codice come questo

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim frm2As New Form2
    If ComboBox1.SelectedItem = "aaa" Then
    frm2.RadioButton1.Checked = True
    frm2.ShowDialog()
    End If
    End Sub

    tutto funziona....però l'altra form la devo aprire con quel pulsate dove precedentemente ho scritto il codice dando la funzione ShowDialog() altrimente il form che si apre non ha le modifiche.....Tu che ne pensi?

    Spiegami meglio con qulche riga di codice la strda che seguiresti....
    Enrico

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,466
    Si tratta di comprendere i meccanismi di programmazione orientata agli oggetti.

    Se ogni volta che selezioni un nuovo elemento invochi New, significa che crei una nuova istanza del Form, non agisci su quello precedentemente aperto ma su uno nuovo.

    Devi creare il Form una volta sola, memorizzare il riferimento all'oggetto in un campo privato del Form che deve agire su di esso e, quando selezioni un elemento dalla ComboBox, usare tale riferimento per accedere ai controlli del Form secondario.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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.