C#: Preencher Combo com array

redglory

Suspenso
Boas ppl,

Tou a desenvolver um software para a minha tese de mestrado mas tou com um problema quando quero preencher uma combo box, que vai ficar com os clientes ligados ao servidor.

Isto é assim:

Tenho uma class chamada SocketListener que tem os contrutores. No programa do servidor é criado para cada cliente um objecto desta class, que fica com o socket associado ao cliente, e uma variavel global com o ID do cliente.

Na altura da criação do cliente, é adicionado este objecto, socketListener a um arraylist chamado _socketListenersList.

Depois quero fazer o display disso na combo, mostrando a mesma o ID.

Codigo:

this.ClientConnBox.DataSource = null;
this.ClientConnBox.Enabled = true;
this.ClientConnBox.DisplayMember = "socketListener.PDA_ID.ToString()";
this.ClientConnBox.DataSource = _socketListenersList;

-Reseto a soucer da combo onde esta vai buscar a info. tem de ser sempre assim.
-Depois, como a combo estava disabled, ou seja, mostrava so "nenhum cliente conectado" e a "cinzento", torno-a enabled para depois poder seleccionar o cliente.
-O display member seria a "variavel" do tipo string a qual a combo utilizaria para preencher os seus campos.
-Voltaria entao a referir que a datasource da combobox era o meu arraylist com os objectos da referida class.

Ja tentei varios tipos de display member mas nao consigo que a combo deixe de adicionar nos seus campos sempre Servidor.SocketListener onde Servidor é o programa e SocketListener é a class onde os objectos socketListener sao criados.

Apenas queria saber como fazer o display na combo do ID do cliente.

PS:
Utilizo este comando e realmente ele da-me o ID que quero, mas se o meter como display member da erro no debug. Isto claro pk quando adiciono na combo, ainda nao ta definido o Index, ou seja, o elemento que tou a seleccionar. Ja o tentei definir antes de meter o codigo que explikei anteriormente, so para experimentar e nao resulta.

Codigo:
//TESTE = ((SocketListener)_socketListenersList[ClientConnBox.SelectedIndex]).PDA_ID;

Alguem que perceba bem disto que me consiga explicar?

Agradecia imenso pessoal.

Abraços
 
Back
Topo