This is the situation. 
I have an Inventory Update Function :

```
    public void UpdateInventoryList()
            {
                dgInventory.RowHeadersVisible = false;

                dgInventory.ColumnCount = 2;
                dgInventory.Columns[0].Name = "Name";
                dgInventory.Columns[0].Width = 112;
                dgInventory.Columns[1].Name = "Quantity";

                dgInventory.Rows.Clear();

                foreach (InventoryItem inventoryItem in _player.Inventory)
                {
                    if (invetoryItem.Quantity > 0)
                    {
                        dgInventory.Rows.Add(new[] { inventoryItem.Details.Name, inventoryItem.Quantity.ToString() });

                    }

                }

            }

```

Then i have a ComboBox for the Player Pets :

```
private void UpdatePet()
        {
            List<Pet> pets = new List<Pet>();

            foreach (InventoryItem inventoryItem in _player.Inventory)
            {
                if (inventoryItem.Details is Pet)
                {
                    if (inventoryItem.Quantity > 0)
                    {
                        pets.Add((Pet)inventoryItem.Details);
                    }
                }
            }

            if (pets.Count == 0)
            {

                cboPet.Enabled = false;
                btAttack.Enabled = false;

            }
            else
            {
                cboPet.DataSource = pets;
                cboPet.DisplayMember = "Name";
                cboPet.ValueMember = "ID";

                cboPet.SelectedIndex = 0;
            }

            cboPet.SelectedIndexChanged += new System.EventHandler(cboPet_SelectedIndexChanged);
        }

```

Ok now i have a function that if you push the button "SACRIFICE" it deletes the Pets from Inventory and then in the ComboBox too :

```
 private void btSacrifice_Click(object sender, EventArgs e)
    {
        Pet currentpet = (Pet)cboPet.SelectedItem;

        if (currentpet.Sacrificable == true && _player.CurrentHP < _player.MaxHP)
        {
            foreach (InventoryItem oi in _player.Inventory)
            {
                if (oi.Details.ID == currentpet.ID)
                {
                    oi.Quantity--;

                }
                UpdateInventoryList();
            }
            if (_player.CurrentHP + currentpet.HealHP >= _player.MaxHP)
            {
                _player.CurrentHP = _player.MaxHP;
                barHP.Value = _player.CurrentHP;
                lblHp.Text = _player.CurrentHP.ToString();

                btSacrifice.Enabled = false;
                btCallPet.Enabled = false;

            }
            else
            _player.CurrentHP = (_player.CurrentHP + currentpet.currentHP);
            barHP.Value = _player.CurrentHP;
            lblHp.Text = _player.CurrentHP.ToString();

            btSacrifice.Enabled = false;
            btCallPet.Enabled = false;
        }
        else if (!currentpet.Sacrificable == true)
        {
            tboxCombat.Text += "Not Sacrificable Pet!" + Environment.NewLine;
        }

        UpdateInventoryListI();
        UpdatePet();

    }

```

It all works perfect but if i have just one pet in my inventory and sure in my combobox when it deletes the pet the combobx is disabled and it shows the name of the pet, in this case the pet i have deleted. if i have more then one pet then the combobox is enable (and this is ok) and displaying the other pet i have.

Why if i have just one pet ("item" in the combobox) when deleting still diplaying the name of it?

Hope you can help and thanks!

Eugene