10 messaggi dal 15 ottobre 2003
buongiorno,
ho un'applicazione desktop dove ho un controllo tabcontrol.
Sulla prima tab ho una combobox e una textbox e sulla seconda tab ho un'altra textbox, in entrambe voglio scrivere quello che scelgo sulla combobox, tramite il seguente codice:

private void quesitoComboBox_SelectionChangeCommitted(object sender, EventArgs e)
{
QuesitoTextBox1.Text = quesitoComboBox.Text;
QuesitoTextBox2.Text = quesitoComboBox.Text;
}

il problema è che scegliendo una voce su combobox, scrive solo su textbox1 mentre textbox2 risulta vuota.
Ma stranamente se scelgo un'altra voce sulla combo scrive su entrambe le textbox.
In altre parole il comportamento è anomalo solo quando faccio la prima scelta, poi funziona bene.
28 messaggi dal 30 ottobre 2014
Salve,
ho fatto una prova con vb usando le proprieta' .Text e .SelectedText della combo.
Alla prima selezione non succede nulla mentre nelle successive mi prende sempre la riga selezionata in precedenza per entrambi le textbox inserite nelle due tab.
In questo modo invece sembra funzionare:

    Private Sub QuesitoComboBox_SelectionChangeCommitted(ByVal sender As Object, ByVal e As System.EventArgs) Handles QuesitoComboBox.SelectionChangeCommitted

        QuesitoTextBox1.Text = QuesitoComboBox.SelectedItem.ToString
        QuesitoTextBox2.Text = QuesitoComboBox.SelectedItem.ToString

    End Sub


https://msdn.microsoft.com/it-it/library/system.windows.forms.combobox.selectionchangecommitted(v=vs.110).aspx?cs-save-lang=1&cs-lang=vb#code-snippet-2

Spero che ti possa essere utile.

Saluti
Luciano

Ho deciso: preferisco essere il peggiore dei programmatori che il migliore dei NON programmatori.
10 messaggi dal 15 ottobre 2003
Ciao Luciano,
intanto ti ringrazio per la disponibilità.
Ho provato a fare come tu mi hai detto ma non va.
Intanto mi sono accorto che selezionando una voce nella combo e poi selezionando una nuova voce, l'esito è sempre negativo fino a quando non vado a selezionare la tab della textbox.
In altre parole la textbox mi da esito positivo solo quando seleziono prima la sua tab, poi vado alla combo scelgo una voce e ritornando alla textbox vedo il valore scritto.

saluto
Gino
28 messaggi dal 30 ottobre 2014
Ciao,
e' strano, ho provato a creare un progetto ex-novo in C# come da te indicato, nel form_load inserito il codice per aggiungere gli item alla combo e mi sembra che funzioni tutto correttamente.

Hai provato a rifare un progetto al volo per vedere se si comporta allo stesso modo?

Prova eventualmente a gestire l'evento SelectedIndexChaged invece del SelectionChangeCommitte.

Vuoi eventualmente che ti linki il progetto da scaricare?

ciao
Luciano

Ho deciso: preferisco essere il peggiore dei programmatori che il migliore dei NON programmatori.
10 messaggi dal 15 ottobre 2003
Grazie Luciano,
avevo già provato con SelectedIndexChaged ma il risultato non cambiava.
Ho provato a ciclare le tab del tabcontrol nell'evento LOAD:

//ciclo le tab per far si che le textbox prendano il valore della combo


for (int i = 0; i < this.tabControl1.TabCount; i++)
{
tabControl1.SelectTab(i);
}

In questo modo funziona tutto bene, ma questo artificio non mi sembra molto consono.
Ti ringrazio se mi linki il tuo progetto.
Ciao
Gino
28 messaggi dal 30 ottobre 2014
Ciao,
ti do il link sperando di aver compreso il problema.

https://onedrive.live.com/redir?resid=485F586144D20DB4!1206&authkey=!APZ560GlTrJHpcE&ithint=file%2crar

Ciao
Luciano

Ho deciso: preferisco essere il peggiore dei programmatori che il migliore dei NON programmatori.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.