Почему здесь не работает такая функция, что когда у нас значение уровня больше или равно 4, то активируется колонка чары, в случае если меньше 4х, то она заблокирована
        private void DisplayComboBoxOrTextBox(ListViewHitTestInfo hit)
        {
            int yOffset = 65; // Смещение по вертикали
                              // Индексы столбцов (могут быть другими - настроить под свою структуру)
            int quantityColumnIndex = 2; // Индекс колонки для количества
            int levelColumnIndex = 3; // Индекс колонки для уровня
            int enchantmentColumnIndex = 4; // Индекс колонки для чаров

            // Проверяем, что клик был по интересующим нас колонкам в InventoryList
            int columnIndex = hit.Item.SubItems.IndexOf(hit.SubItem);
            if (columnIndex == quantityColumnIndex || columnIndex == levelColumnIndex || columnIndex == enchantmentColumnIndex)
            {
                // Определяем границы ячейки и контрол для отображения
                Rectangle cellBounds = hit.SubItem.Bounds;
                cellBounds.Offset(15, yOffset);
                cellBounds.Height -= yOffset; // Корректируем высоту с учетом смещения
                Control controlToDisplay = null;

                // Создание и настройка TextBox для количества
                if (columnIndex == quantityColumnIndex)
                {
                    TextBox quantityTextBox = new TextBox
                    {
                        Bounds = cellBounds,
                        Text = hit.SubItem.Text,
                        Tag = hit.Item
                    };
                    quantityTextBox.Leave += TextBox_Leave;
                    hit.Item.ListView.Parent.Controls.Add(quantityTextBox);
                    quantityTextBox.Focus();
                    quantityTextBox.Leave += (sender, e) => quantityTextBox.Visible = false;
                    quantityTextBox.KeyPress += (sender, e) =>
                    {
                        if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar))
                        {
                            e.Handled = true;
                        }
                    };
                    quantityTextBox.KeyDown += (sender, e) =>
                    {
                        if (e.KeyCode == Keys.Enter || e.KeyCode == Keys.Return)
                        {
                            hit.SubItem.Text = quantityTextBox.Text;
                            quantityTextBox.Visible = false;
                        }
                    };
                    controlToDisplay = quantityTextBox;
                }
                else
                {
                    // Создание и настройка ComboBox для уровня или чаров
                    ComboBox comboBox = new ComboBox
                    {
                        Bounds = cellBounds,
                        DropDownStyle = ComboBoxStyle.DropDownList,
                    };
                    comboBox.Leave += (sender, e) => comboBox.Visible = false;
                    comboBox.SelectedIndexChanged += (sender, e) =>
                    {
                        if (comboBox.Tag is ListViewItem listViewItem && listViewItem.Tag is Item item)
                        {
                            // Определяем, какое именно свойство изменилось
                            bool isLevelChanged = listViewItem.SubItems[levelColumnIndex].Bounds.Contains(comboBox.Bounds.Location);
                            bool isEnchantmentChanged = listViewItem.SubItems[enchantmentColumnIndex].Bounds.Contains(comboBox.Bounds.Location);

                            if (isLevelChanged)
                            {
                                item.Level = int.Parse(comboBox.SelectedItem.ToString());
                                listViewItem.SubItems[levelColumnIndex].Text = item.Level.ToString();

                                if (item.Level >= 4)
                                {
                                    comboBox.Enabled = true; // Разрешаем выбор
                                    for (int i = 0; i <= 4; i++)
                                    {
                                        comboBox.Items.Add(i.ToString());
                                    }
                                }
                                else
                                {
                                    comboBox.Enabled = false; // Запрещаем выбор
                                    comboBox.Items.Add("0"); // Добавляем единственно допустимый вариант
                                }
                            }
                            else if (isEnchantmentChanged)
                            {
                                // Не изменяем чары, если уровень меньше 4 - они должны оставаться равными 0.
                                if (item.Level >= 4)
                                {
                                    item.Charms = int.Parse(comboBox.SelectedItem.ToString());
                                    listViewItem.SubItems[enchantmentColumnIndex].Text = item.Charms.ToString();
                                }
                            }

                            listViewItem.ImageKey = item.GetImageFileName(); // Обновляем иконку предмета
                            listViewItem.ListView.Refresh(); // Обновляем ListView для отображения изменений
                            comboBox.Visible = false; // Скрываем ComboBox после выбора
                        }
                        hit.SubItem.Text = comboBox.SelectedItem.ToString();
                        
                    };

                    // Fill the ComboBox with the right values depending on the column
                    if (columnIndex == levelColumnIndex)
                    {
                        int minLevel = (hit.Item.Tag as Item)?.MinLevel ?? 1;
                        for (int i = minLevel; i <= 8; i++)
                        {
                            comboBox.Items.Add(i.ToString());
                        }
                    }
                    else if (columnIndex == enchantmentColumnIndex)
                    {
                        for (int i = 0; i <= 4; i++)
                        {
                            comboBox.Items.Add(i.ToString());
                        }
                    }

                    // Set selected value
                    
                    comboBox.SelectedItem = hit.SubItem.Text;
                    
                    controlToDisplay = comboBox;
                }
                if (controlToDisplay != null)
                {
                    
                    hit.Item.ListView.Parent.Controls.Add(controlToDisplay);
                    controlToDisplay.BringToFront();
                    controlToDisplay.Visible = true;
                    controlToDisplay.Focus();

                }
            }
        }