Colocar valor listbox em uma variavel C#

Estou iniciando meus estudos em C#, tenho uma ListBox, queria simplesmente colocar o valor (no meu caso nome) de um item selecionado na ListBox em uma variável, porém está dando erro, fiz assim:

private void listBoxContratos_SelectedValueChanged(object sender, EventArgs e)
{
	string variavel = listBoxContratos.SelectedItem.ToString();
	MessageBox.Show(variavel);
}

Ao executar e selecionar a variavel o seguinte erro é apresentado:

System.NullReferenceException: ‘Referência de objeto não definida para uma instância de um objeto.’
System.Windows.Forms.ListBox.SelectedItem.get retornou null.

Sempre o problema é antes, respondam:

  • Como você preencheu esse listBoxContratos?
  • O erro demonstrado na sua pergunta é referente a não existência de valores, ou seja, está nulo, não tem valor, não foi carregado nada ou a estratégia de carregamento denota outra tipo de abordagem?

obrigado Dragoon era isso mesmo

Bom dia,

Sou novo aqui nesse canal e não sei se você ainda precisa de ajuda.

Analisando seu código é estranho você não ter conseguido pegar o valor, porém você pode tentar dessa outra forma aqui.

private void listBoxValores_SelectedIndexChanged(object sender, EventArgs e)
{
    var valor = listBoxValores.SelectedItems[0].ToString();
    MessageBox.Show(valor);
}
1 curtida

Pscarvalho, obrigado pelo retorno, não sei dizer se foi algum pau no VS refiz do zero e acabou dando certo muito estranho mesmo de qualquer forma obrigado