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

    [VB] passare un valore ad un altro form

    con VB.NET,

    Ho questo problema:

    Ho un Form = "Form1.vb" dove si trova una "ListView multicolonna", per estrarre l'ID che ho nela prima colonna della "ListView" faccio questo:

    Dim ID As String = ListView1.SelectedItems.Item(0).Text

    poi nel progetto ho pure un secondo Form = "Form2.vb" dove vogli visualizzare dei dati da un Database dato l'ID selezionato,

    es:

    codice:
    conn.Open()
    Dim comm As New OleDbCommand("SELECT * FROM Tabella WHERE ID = '" & ID & "'", conn)
    Dim read As OleDbDataReader = comm.ExecuteReader
    Dim li As ListViewItem
    read.Read()
    
    ...
    MsgBox(read("Campo"))
    ...
    
    End While
    conn.Close()

    ma come faccio per potere passare l'ID dal "Form1.vb" al "Form2.vb" ???

  2. #2
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    ..anziche' dicharare la stringa ID in form1, la dichiari come stringa globale, nel form1 fai l'assegnazione e cosi' quando sei in form2 hai gia' la stringa settata.
    ...and I miss you...like the deserts miss the rain...

  3. #3
    E come si dichiara una Stringa Globale ???

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    66
    Inserisci 1 modulo nel progetto e li dikiari la tua variabile globale.
    Sara' visibile su ogni form del progetto:
    Global Variabile as TipoVariabile
    Tutto qui.
    Buon lavoro, ciao

  5. #5
    Scusami ma il solito metodo io lo uso per avviare delle Public Function che si trovano in altri form, e all'occasione di devo chiedere una cosa ;

    questo e' il codice che uso per avviare una funzione sull'altro Form:

    MyModule1.Form1.PopoloUrl()

    ma mi da errore........

    cosa sbaglio???

  6. #6
    Utente di HTML.it L'avatar di ChReAn
    Registrato dal
    Aug 2002
    Messaggi
    486
    Secondo me non usare la variabile globale.
    EVITA l'uso di variabili globali.
    Dichiara una variabile privata a livello di modulo (cioe' all'einizio del modulo, fuori dalle routine) nel form1.

    Private m_miavariabile as Integer

    La inizializzi qui

    private Sub Form_load()
    m_miavariabile = 0
    end sub

    Aggiungi nel form1 2 routine, piu' o meno come queste:

    Public Sub SetVariabile (new_value as integer)
    m_miavariabile = new_value
    End Sub

    Public Function GetVariabile () as integer
    GetVariabile = m_miavariabile
    End Function

    In questo modo avrai accesso alla variabile dall'esterno del form.
    Nel form2 ti bastera' chiamare

    form1.GetVariabile

    per conoscere il valore della variabile incriminata.

    Variabili private, metodi pubblici: una base dell'OOP.

    Tutto chiaro?
    ChReAn
    -------------------

    Slackware 9.1 powered

  7. #7
    E' chiaro ma e' molto piu' breve con un modulo

    ma per la chiamata alla mia funzione residente nell'altro Form come faccio ???

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 © 2024 vBulletin Solutions, Inc. All rights reserved.