Não é possível separar a lista suspensa do Winforms do banco de dados

É um pouco estranho, mas estou lutando há algumas horas e não consigo entender o que está acontecendo.

Eu queria saber se alguém já passou por esse problema, e talvez possa explicar isso. Estou criando um aplicativo Winforms simples e tentando usar muitos dos controles internos.

Basicamente, eu tenho um formulário com um controle de usuário e alguns campos de captura de dados. 3 dos campos são listas suspensas e, no controle do usuário, tenho um controle bindingSource que se liga diretamente a uma classe Product.

Em tempo de execução, forneço uma instância da classe Product ao BindingSource e a classe contém uma propriedade deProductType. Para simplificar, também adicionei umList<ProductType> ProductTypes para a classe de produto que se carrega quando consultado, o que significa que eu posso apenas usar o mesmo bindingSource e escolher oProductTypes Membro de dados como a fonte de dados da lista suspensa.

Ao executar o formulário, a lista se encaixa perfeitamente e posso ver todos os tipos de produtos listados e posso selecionar um e tabular ou clicar no próximo campo. Mas, obviamente, o valor selecionado não será vinculado porque não escolhi nenhuma bindings-SelectedValue para a lista suspensa, apenas uma fonte de dados. Assim que eu tiver certeza de que o menu suspenso modifique a instância do Produto vinculando ao Bindings-SelectedValue e, em seguida, execute o formulário, a lista ainda será preenchida perfeitamente e eu posso percorrer os controles, desde que não faça uma seleção no menu suspenso. Se eu fizer uma seleção no menu suspenso, o menu suspensomantém o foco. Não posso sair por amor ou dinheiro e nem posso clicar no botão Cancelar no formulário. O botão Fechar no canto superior direito é o único botão no qual posso clicar que funciona e não posso clicar em nenhum outro campo ou menu suspenso. Isso afeta todos os três menus suspensos assim que uma seleção é feita.

Alguém tem alguma idéia do que estou perdendo?

Eu tentei mudar algumas coisas e tive algum sucesso alimentando os valores suspensos uma string [] em vez de um membro de um objeto. Isso parece funcionar, mas derrota o objeto de usar a ligação de dados, não é?

Qualquer ajuda apreciada!

questionAnswers(3)

yourAnswerToTheQuestion