Я довольно новичок в программировании на C#, поэтому, пожалуйста, простите мои, вероятно, очень плохие ошибки. У меня есть выпадающий в SuperAdventure.cs (cboWeapons), и я не могу показаться, чтобы изменить его с уровня второго вида (InventoryScreen.cs) с помощью следующей кнопки:Почему я не могу изменить SelectedIndex выпадающего списка с точки зрения другой формы?
private void btnEquipWeapon_Click(object sender, EventArgs e)
{
SuperAdventure weapon = new SuperAdventure();
String CurrentWeapon = this.cboCurrentWeapon.GetItemText(this.cboCurrentWeapon.SelectedItem);
weapon.cboWeapons_SelectedItemChange(CurrentWeapon);
}
А вот метод cboWeapons_SelectedItemChange из SuperAdventure .cs:
public void cboWeapons_SelectedItemChange(string weapon)
{
cboWeapons.SelectedIndex = cboWeapons.FindString(weapon);
}
cboWeapons выпадающий связано то данные, но я считаю, что не будет делать слишком большой разницы в этом случае? Кроме того, я был в состоянии изменить его с помощью кнопки теста, который я сделал в SuperAdventure форме просто:
private void btnChange(object sender, EventArgs e)
{
cboWeapons.SelectedIndex = cboWeapons.FindString("Sword");
}
И да, я делаю глупую RPG на основе учебника Скотт Лилли в C# с преимущественно собственными формами классов и т.д. ... Надеюсь, кто-то сможет помочь! Заранее спасибо!
'SuperAdventure оружие = новый SuperAdventure() ; 'создает новую форму и не взаимодействует с существующей формой. Тем не менее, если вы используете 'weapon.Show()', вы увидите свою новую форму, любые другие существующие формы не будут затронуты. Более того, при инициализации формы ничего не выбрано из combobox, поэтому даже новая форма не будет иметь никаких изменений, если вы не укажете выбранный индекс в конструкторе – Everyone
Если вы добавите ссылку 'weapon.Show();' line @AmmarSalman, о которой идет речь, немедленно после «SuperAdventure weapon = new SuperAdventure(); line, я считаю, что вы испытаете откровение. Это, скорее всего, приведет к большему количеству вопросов. Я призываю вас продолжать. – hawkeyegold
Святая мать объективного программирования .. Вы, джентльмены, заставили меня понять, насколько я тупой. Итак, как бы я создал метод, который мог бы по сути сделать combobox изменить выбранный элемент в combobox из другого класса/формы? Мне не нужно создавать экземпляр класса в этом btnEquipWeapon_Click? –