+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 8 su 8

Il riferimento a un membro non condiviso richiede un riferimento a un oggetto.

  1. #1
    raamino73 non è in linea Novello
    scusate se mi intrometto nella vostra discussione, ma anch'io ho lo stesso problema, ed ho inserito i vostri suggerimenti.
    Purtroppo ho avuto alcuni errori causati probabilmente dal fatto che ho un form padre (frmintro) è alcuni form figli (frmins),

    uno dei tanti errori (tutti uguali)
     Il riferimento a un membro non condiviso richiede un riferimento a un oggetto.
    
    Aplication.Designer
            <Global.System.Diagnostics.DebuggerStepThroughAttribute()>  _
            Protected Overrides Sub OnCreateMainForm()
                Me.MainForm = Global.Schppa.frmintro
            End Sub
    
    frmintro
        Private Sub bok_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bok.Click
            frmintro.tsmfc.Checked = False
            insok()
        End Sub
    
    il listview c'è lo nel form padre, mentre il textbox è in uno dei tanti form figlio(frmins).
    Quando clicco in una riga del listview, un valore deve finire nel textbox di quel form figlio. Speriamo che sia tutto chiaro.
    Ultima modifica di raamino73; 29-07-2010 10:02 

  2. #2
    L'avatar di elisab
    elisab non è in linea Scribacchino
    Ciao
    ti ho creato una nuova discussione, ti consiglio di leggere il nostro regolamento.

    Quello che devi fare è chiaro, ma devi mostrare anche con che codice stai cercando di farlo. In genere si chiede di postare il codice in uso (non l'intero progetto, ma una porzione che ci metta in condizioni di individuare l'errore) con l'indicazione della riga che solleva l'errore e il tipo di errore.

    Edit: la discussione a cui si riferisce l'utente è la seguente: http://forum.masterdrive.it/visual-b...textbox-46884/
    Ultima modifica di elisab; 29-07-2010 22:02 
    ℹ️ Leggi di più su elisab ...

  3. #3
    scusate se mi intrometto nella vostra discussione, ma anch'io ho lo stesso problema, ed ho inserito i vostri suggerimenti.
    Nel codice che hai postato non vedo i suggerimenti che avevo dato nell'altro post

    Tra l'altro solo una parte di quei suggerimenti fa al caso tuo.

    Da un primo sguardo vedo che hai usato la variabile MainForm ma quel codice
    <Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
    Protected Overrides Sub OnCreateMainForm()
    Me.MainForm = Global.Schppa.frmintro
    End Sub
    lo utilizzi per assegnare il valore del FormPadre alla variabile MainForm ?

    Se è così, è sbagliato, per diversi motivi:

    1 - Non stai passando nessun riferimento in quel modo.


    2 - Non ti serve passare il riferimento del FormPadre, per 2 motivi:
    1. Il riferimento del FormPadre è già all'interno del FormFiglio, lo ricavi dalla proprietà MdiParent
    2. Ai fini del tuo problema non è necessario tenere traccia del FormPadre
    Quello che ti serve è tenere traccia dei FormFigli, quindi dovrai creare alcune variabili a cui assegnerai il riferimento dei nuovi FormFigli che creerai, ed all'occorrenza, li richiamerai direttamente dalle variabili.
     
    Private Child1 as FormChild1
    Private Child2 as FormChild2
    Private Child3 as FormChild3
    
    Dopo aver creato le nuove istanze dei FormChild, all'occorrenza richiamerai:
     
    Child1.TextBox1.Text = ......
    Child2.TextBox1.Text = ......
    Child3.TextBox1.Text = ......
    
    ℹ️ Leggi di più su Fix ...

  4. #4
    raamino73 non è in linea Novello
    Scusate ma pensavo di averlo messo nel posto giusto, perchè avevo lo stesso problema di krossk2, e cioè inserire una parte del contenuto di una listview in textbox.




    Infatti o usato il codice che Fix978 aveva postato nella discussione Copia contenuto listview in textbox.

    Quote Originariamente inviato da Fix978 Visualizza il messaggio
    All'interno del Form1:
    puoi usare o un Metodo
    Public Sub AddText(ByVal value As String)
    Me.TextBox1.Text = value
    End Sub
    
    
    o una proprietà
    Public Property TextBoxText() As String
    Get
      Return Me.TextBox1.Text
    End Get
    Set(ByVal value As String)
      Me.TextBox1.Text = value
    End Set
    End Property
    
    
    La listview in che Form si trova ?

    Supponendo che si trovi in un Form secondario (Form2) che richiami dal Form1 principale, modifica il costruttore di tale Form2 in modo da ricevere il riferimento del Form1.

    Private MainForm As Form1
    Public Sub New(ByVal _MainForm As Form1)
    ' Chiamata richiesta da Progettazione Windows Form.
    InitializeComponent()
    ' Aggiungere le eventuali istruzioni di inizializzazione dopo la chiamata a InitializeComponent().
    Me.MainForm = _MainForm
    End Sub
    
    
    In questo modo, per operare sul Form1, ti basta richiamare ogni volta MainForm da qualunque punto della Classe, perchè MainForm conterrà il riferimento al Form1.

    es:
    MainForm.AddText(listview11.SelectedItems(0).SubItems(1).Text)
    
    oppure:
    MainForm.TextBoxText = listview11.SelectedItems(0).SubItems(1).Text
    
    Quando creerai il Form Secondario (che contiene la Listview) dovrai passare il riferimento in questo modo:

    Dim frm2 As New Form2(Me)
    frm2.Show()
    
    ma senza avere risultati.

    Ora provo con gli ultimi suggerimenti:

    Se è così, è sbagliato, per diversi motivi:

    1 - Non stai passando nessun riferimento in quel modo.


    2 - Non ti serve passare il riferimento del FormPadre, per 2 motivi:
    1. Il riferimento del FormPadre è già all'interno del FormFiglio, lo ricavi dalla proprietà MdiParent
    2. Ai fini del tuo problema non è necessario tenere traccia del FormPadre
    Quello che ti serve è tenere traccia dei FormFigli, quindi dovrai creare alcune variabili a cui assegnerai il riferimento dei nuovi FormFigli che creerai, ed all'occorrenza, li richiamerai direttamente dalle variabili.

    Private Child1 as FormChild1
    Private Child2 as FormChild2
    Private Child3 as FormChild3
    
    Dopo aver creato le nuove istanze dei FormChild, all'occorrenza richiamerai:

    Child1.TextBox1.Text = ......
    Child2.TextBox1.Text = ......
    Child3.TextBox1.Text = ......
    
    Grazie

  5. #5
    Il consiglio del Metodo Pubblico, o della Proprietà Pubblica, è sempre valido. (nell'esempio di questo post ho scritto Child1.TextBox1.Text, ma è meglio usare l'esempio dell'altro Post con l'utilizzo di un Metodo Pubblico o Proprietà)

    L'unica cosa che dovrai fare è creare le variabili che conterranno i riferimenti ai Form Figli, come spiegato in questo post.
    ℹ️ Leggi di più su Fix ...

  6. #6
    raamino73 non è in linea Novello
    Ho risolto il problema è questo è il codice che ho usato:
                antuedi = selezionati(0).SubItems(1).Text
    
    
                For Each tempChild As frmins In Me.MdiChildren
    
                    If tempChild.txue.Text = "" Then Exit For
    
                    tempChild.txue.Text = antuedi
    
    
                    Exit For
                Next
    

  7. #7
    Ho risolto il problema è questo è il codice che ho usato:
    In questo modo, però, non andrai a scrivere proprio sul FormFiglio da te voluto, ma andrai a scrivere sul Primo FormFiglio che non ha la TextBox vuota.

    In presenza di più FormFigli non è detto che il valore venga riportato sulla TextBox del FormFiglio desiderato.
    ℹ️ Leggi di più su Fix ...

  8. #8
    raamino73 non è in linea Novello
    Con questo codice
    For Each tempChild As frmins In Me.MdiChildren
    
    faccio in modo da scorrere tutti i form figli aperti, quando è uguale a frmins lo passa a tempChild.
    Credo che funzioni così.

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Risposte: 3
    Ultimo Post: 10-11-2014, 19:54
  2. Riferimento ad una sottoscheda in una sub
    Da moro54 nel forum Microsoft Access
    Risposte: 3
    Ultimo Post: 20-07-2013, 10:25
  3. Perdita riferimento oggetto MapiFolder
    Da jj75 nel forum Microsoft Word
    Risposte: 5
    Ultimo Post: 07-09-2009, 10:32
  4. Riferimento a un oggetto SubForm
    Da davideleo nel forum Microsoft Word
    Risposte: 17
    Ultimo Post: 24-06-2006, 13:35
  5. chiamata a riferimento
    Da getfar nel forum Microsoft Word
    Risposte: 4
    Ultimo Post: 21-07-2005, 09:05