Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di Rplus
    Registrato dal
    Mar 2002
    Messaggi
    150

    [vb6] listbox e combobox

    ho creato un form nel quale ci sono una listbox e una combobox..

    al click sulla listbox viene pescata in una tabella il valore di una variabile,il cui valore viene scritto nella combobox..

    durante l'esecuzione, però, ottengo un errore 13: "tipo nn corrispondete" in quanto quando clicko su un elemento della listbox dopo averne modificato uno sulla combo viene eseguita anke la procedura cboGio1notte_Click() dopo l'esecuzione di lstInf_Click(), senza ke io lo richieda..

    questo è il codice del mio form:

    codice:
    Option Explicit
    Const righe As Byte = 2
    Dim i As Byte
    
    Private Sub cboGio1notte_Click()
      tabella(lstInf.ListIndex + 1).primanotte = cboGio1notte.List(cboGio1notte.ListIndex)
      'tabella(lstInf.ListIndex + 1).primanotte = 8
    End Sub
    
    Private Sub Form_Load()
      For i = 1 To righe
        lstInf.AddItem (tabella(i).nome)
      Next i
    End Sub
    
    Private Sub lstInf_Click()
      cboGio1notte.Locked = False
      cboGio1notte.ListIndex = tabella(lstInf.ListIndex + 1).primanotte - 1
    End Sub
    
    Private Sub cmdOKButton_Click()
      Unload Me
    End Sub
    mentre la tabella è dichiarata in un modulo in questo modo:

    codice:
    Public Type tipopers
      nome As String * 20
      turno(1 To colonne) As Byte
      primanotte As Byte
    End Type
    come faccio per risolvere l'inconveniente?

  2. #2
    Utente di HTML.it L'avatar di Rplus
    Registrato dal
    Mar 2002
    Messaggi
    150
    nessuno ha qualche idea sul perchè faccia così?

  3. #3
    Quando da codice si va a cambiare la proprietà ListIndex del ComboBox viene generato automaticamente l'evento Click del combobox. Potresti utilizzare un flag:
    codice:
    Option Explicit
    Const righe As Byte = 2
    Dim i As Byte
    Dim flag As Boolean
    
    Private Sub cboGio1notte_Click()
      If flag = False Then
        tabella(lstInf.ListIndex + 1).primanotte = cboGio1notte.List(cboGio1notte.ListIndex)
        'tabella(lstInf.ListIndex + 1).primanotte = 8
      End If
    End Sub
    
    Private Sub Form_Load()
      For i = 1 To righe
        lstInf.AddItem (tabella(i).nome)
      Next i
    End Sub
    
    Private Sub lstInf_Click()
      cboGio1notte.Locked = False
      flag = True
      cboGio1notte.ListIndex = tabella(lstInf.ListIndex + 1).primanotte - 1
      flag = False
    End Sub
    
    Private Sub cmdOKButton_Click()
      Unload Me
    End Sub
    Chi non cerca trova.

  4. #4
    Utente di HTML.it L'avatar di Rplus
    Registrato dal
    Mar 2002
    Messaggi
    150
    ah ecco cos'era..avevo questo dubbio infatti ma nn ne avevo trovato riscontro sul manuale..grazie 1000

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.