Pergunta

Eu criei um ArrayList que contém KeyValuePair objetos. Há ListBoxes que eu gostaria de associar a essa lista para que eu não tem que preenchê-los por iteração, copiar, ao mesmo tempo todos os dados que tenho no acima mencionado ArrayList.

Eu sou um programador Delphi e Delphi eu usaria o controle ListView, defina sua propriedade OwnerData como true e, em seguida, usar o evento OnData para fazer um determinado item (com um índice especificado) exibir qualquer peça de dados a partir de um item do array tendo o mesmo índice. O método OnData me dá o item atualmente exibido como um parâmetro, por isso tenho acesso a exemplo seu índice, Legenda e subitens propriedades. Baseando-se que o índice I pode fazer o item exibir alguns dados de um item matriz tendo o mesmo índice. Se essa matriz é modificado, é suficiente para atualizar a ListView e / ou definir sua propriedade Conde se o comprimento da matriz alterado.

Como alcançar o mesmo objetivo em C # usando o controle de caixa de listagem? I definir a propriedade listBox.DataSource para KeyValuePairs contendo myArrayList. Agora eu gostaria que o ListBox para exibir as chaves dos objetos KeyValuePairs.

Foi útil?

Solução

.NET caixas de listagem têm essa funcionalidade incorporada Já definir a propriedade DataSource, de modo a exibir apenas as chaves na lista, definir:.

listBox.DisplayMember = "Key";
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top