Però, permettimi una piccola osservazione. Puoi benissimo cancellare la Sub ComboBox1_Click, perchè la ComboBox, come ben sai presenta alla sua destra un pulsantino, cliccando sul quale, la finestra di popup si apre senza ricorrere alla funzione ComboBox1.Popup.
...ma io non ho scritto la
Sub ComboBox1_Click, bensì
_Change. Inoltre, forse ho capito male dall'inizio, ma mi era parso
,
infatti, che tu volessi da un lato far aprire la finestra a cascata del ComboBox con il metodo .
Popup (...quindi
da codice e
non cliccando con il topastro sul ComboBox), dall'altro far apparire nel ComboBox l'elemento scelto dopo appunto l'apertura della finestra a cascata.
Posso aggiungere che, mantenendo quel tipo di evento (
_Change() ) del ComboBox, e ponendo la proprietà
ReadOnly del ComboBox a
True, ho notato che, dopo aver fatto aprire la finestra a cascata, se premo sul tasto Invio della tastiera, la finestra, pur chiudendosi, e pur mostrandosi l'elemento prescelto della lista, l'evento non si scatena e nella console non sarà scritto alcunché. Al contrario sarà scritto il testo dell'elemento prescelto, se cambio l'evento da
_Change() a
_Click().
Quindi, ricapitolando,
sembra proprio che, facendo chiudere la finestra del Combo con il tasto Invio della tastiera (come da esempio sopra esposto), affinché il processo possa passare nella routine con l'evento del ComboBox:
* se si imposta la proprietà
ReadOnly del ComboBox a
True, si dovrà porre l'evento
_Click();
* se si imposta la proprietà
ReadOnly del ComboBox a
False, si potrà porre sia l'evento
_Click() che
_Change().