I am working on a listbox but I need some buttons to be enabled depending on the selectedItem, so I coded this:
        private void lstLSD_SelectedIndexChanged(object sender, EventArgs e)
    {
        registroSeleccionado = (Registro)this.lstLSD.SelectedItem;
        label2.Text = "Registro " + registroSeleccionado;
        string item = lstLSD.SelectedItem.ToString();
        if (item.StartsWith("01")) { button1.Enabled = true; } else { button1.Enabled = false; };
        if (item.StartsWith("02")) { button3.Enabled = true; } else { button3.Enabled = false; };
        if (item.StartsWith("03")) { button4.Enabled = true; } else { button4.Enabled = false; };
        if (item.StartsWith("04")) { button5.Enabled = true; } else { button5.Enabled = false; };
    }
But, I am loosing the ability to modify that same selectedItem later..
        private void btnCrear_Click(object sender, EventArgs e)
    {
        if (txtR1Modificado.TextLength >0)
        {
            Registro modifReg = new Registro()
            {
                Registro1 = txtR1Modificado.Text
            };
            int index = Form1.formInicialInstance.lstB.SelectedIndex;
            Form1.formInicialInstance.lstB.Items.RemoveAt(index);
            Form1.formInicialInstance.lstB.Items.Insert(index, modifReg);
            Form1.formInicialInstance.lstB.SetSelected(index, true);
            txtR1Modificado.Clear();
        }
    }
And this is the error I am getting: System.NullReferenceException: 'Referencia a objeto no establecida como instancia de un objeto.'
System.Windows.Forms.ListBox.SelectedItem.get devolvió null.
Any Idea? Thanks for your help!
 
    