Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di deedlyt
    Registrato dal
    Jan 2002
    Messaggi
    444

    [vb.net]Problemi con froms

    Ciao tutti,
    non riesco a capire come mai non mi funziona il codice. Come faccio al evento del pulsante della frm2 cambiare il valore della frm1. Da notare che al momento del click sul pulsante di frm2 ho la frm1 aperta.

    -----------------------------------------------------
    Ho due forms (frm1 e frm2), su frm1 ho una label.

    Frm1:

    Public Sub prova()

    Label1.Text = "SSSSSSSSSSSSSSSSSSSSSSSSSSSSS"
    End Sub


    Frm2:
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    Dim frm1 As New Form1

    frm1.prova()

    End Sub

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Re: [vb.net]Problemi con froms

    Originariamente inviato da deedlyt
    non riesco a capire come mai non mi funziona il codice. Come faccio al evento del pulsante della frm2 cambiare il valore della frm1. Da notare che al momento del click sul pulsante di frm2 ho la frm1 aperta.
    Ho il sospetto che, ogni volta in cui hai bisogno di manipolare un certo Form, tu lo vada a ricreare di nuovo usando New.

    I Form vanno creati con New per disporre dell'oggetto, di una istanza, di una finestra che può essere resa visibile.

    Quando un Form deve accedere ai dati di un altro, devi passare al secondo Form il riferimento (ottenuto con New al momento della creazione, che deve avvenire una sola volta per ogni finestra che intendi mostrare) in modo che questo possa utilizzarlo per modificare proprietà o comunque interagire con la finestra già attiva a video.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  3. #3
    Utente di HTML.it L'avatar di deedlyt
    Registrato dal
    Jan 2002
    Messaggi
    444
    perfetto..

    allora in questo caso dovrei fare cosi se non ho capito male:

    Form1:

    Public Sub prova()

    Label1.Text = "SSSSSSSSSSSSSSSSSSSSSSSSSSSSS"
    End Sub


    Form2:
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    ''''Dim frm1 As New Form1

    ''''frm1.prova()

    Form1.prova()

    End Sub

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Originariamente inviato da deedlyt
    allora in questo caso dovrei fare cosi se non ho capito male [...]
    Sì, però devi introdurre una variabile nel Form2 che sia di tipo Form1 e che vai a inizializzare con il riferimento all'oggetto Form1 su cui devi chiamare il metodo "Prova".

    In realtà, ciò di cui si sta parlando qui sono gli elementi base della programmazione a oggetti (OOP) applicata alle classi che gestiscono l'interfaccia visuale dell'applicazione: il mio suggerimento è quello di studiarsi bene questi principi (cerca su Wikipedia o su Google) del paradigma OOP per capire tecnicamente cosa rappresenta ciò di cui stiamo parlando.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  5. #5
    Utente di HTML.it L'avatar di deedlyt
    Registrato dal
    Jan 2002
    Messaggi
    444
    ok ,farò la ricerca.

    grazie mille alka.

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.