Autore Topic: ComboBox non modificabile ma che generi evento "change"  (Letto 520 volte)

Offline allegfede

  • Gran Maestro dei Gamberi
  • *****
  • Post: 738
    • Mostra profilo
ComboBox non modificabile ma che generi evento "change"
« il: 18 Luglio 2017, 18:49:41 »
perche' una ComboBox genera l'evento change solo se NON e' "read only" ?

PS: il testo nel combobox cambia se seleziono uno degli "item" gia' nella lista ... ma non viene generato l'evento di "cambio"
se corri, morirai stanco (motto degli sniper)

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:ComboBox non modificabile ma che generi evento "change"
« Risposta #1 il: 18 Luglio 2017, 19:37:27 »
Puoi fare una cosa così:

Codice: [Seleziona]
' Gambas class file

Private $sOldName As String

Public Sub Form_Open()

  ComboBox1.Add("Pippo")
  ComboBox1.Add("Pluto")
  ComboBox1.Add("Paperino")
  ComboBox1.Add("Topolino")
  ComboBox1.Add("Qui")
  ComboBox1.Add("Quo")
  ComboBox1.Add("Qua") 
  $sOldName = ComboBox1.Text
  TextBox1.Text = ComboBox1.Text

End

Public Sub ComboBox1_Click()
 
  Dim sActualName As String
 
  sActualName = ComboBox1.Text
  If sActualName <> $sOldName Then
    TextBox1.Text = ComboBox1.Text
    $sOldName = sActualName
  Endif
 
End

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:ComboBox non modificabile ma che generi evento "change"
« Risposta #2 il: 18 Luglio 2017, 21:12:25 »
perche' una ComboBox genera l'evento change solo se NON e' "read only" ?
Noto che quell'Evento è legato in modo particolare all'eventualità di una modifica "manuale", con la tastiera, del testo presente nel corrente elemento (item) del ComboBox. In tale caso la modifica sarà solo visiva, ma il testo di quel item resta intatto nella lista del ComboBox.

Va rilevato che - sempre in impostazione .ReadOnly = False - una modifica da codice del testo di un elemento del ComboBox, procura una modifica permanente del testo medesimo, ma non farà sollevare l'evento "_Change( )".

« Ultima modifica: 18 Luglio 2017, 21:26:26 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline allegfede

  • Gran Maestro dei Gamberi
  • *****
  • Post: 738
    • Mostra profilo
Re:ComboBox non modificabile ma che generi evento "change"
« Risposta #3 il: 27 Luglio 2017, 19:10:06 »
Puoi fare una cosa così:

Codice: [Seleziona]
' Gambas class file

Private $sOldName As String

Public Sub Form_Open()

  ComboBox1.Add("Pippo")
  ComboBox1.Add("Pluto")
  ComboBox1.Add("Paperino")
  ComboBox1.Add("Topolino")
  ComboBox1.Add("Qui")
  ComboBox1.Add("Quo")
  ComboBox1.Add("Qua") 
  $sOldName = ComboBox1.Text
  TextBox1.Text = ComboBox1.Text

End

Public Sub ComboBox1_Click()
 
  Dim sActualName As String
 
  sActualName = ComboBox1.Text
  If sActualName <> $sOldName Then
    TextBox1.Text = ComboBox1.Text
    $sOldName = sActualName
  Endif
 
End

 :ciao:

si penso che faro' cosi' ....
se corri, morirai stanco (motto degli sniper)