如何显示数组元素在列表框selecteditem ?c# winforms



我想获得列表框selecteindex上的数组元素。它还显示了找到的数组元素但是它不选择listbox

上数组的第一个元素

Listbox = cbx_dekor_paneli

string[] dekordizisi;
void listedendekoral()
{
dekordizisi = Sipariş_Listesi_Güncelle.dekorgonder.ToString().Split(',');
for (int i = 0; i < dekordizisi.Count(); i++)
{
cbx_dekor_paneli.SelectedIndex = 
cbx_dekor_paneli.FindString(dekordizisi[i].ToString());
//already tried that one
//cbx_dekor_paneli.SelectedItem = dekordizisi[i].ToString();
}
}

Listbox items add from mysql

void DB_dekor()
{
db.vtbaslat();
vtbaglan();
try
{
cbx_dekor_paneli.Items.Clear();
//dekorlar
MySqlCommand listegor = new MySqlCommand("select * from dekor order by dekor_id asc", db.baglanti);
MySqlDataReader liste = listegor.ExecuteReader();
while (liste.Read())
{
cbx_dekor_paneli.Items.Add(liste["dekor_kod"].ToString());
}
liste.Close();
listegor.Dispose();
}
catch (Exception hata)
{
MessageBox.Show(hata.Message);
}
}

更新

我在数据库上犯了一个错误。有些值有空格。我也喜欢选择模式:MultiSimple用那个代码求解

cbx_dekor_paneli.ClearSelected();
dekordizisi = Sipariş_Listesi_Güncelle.dekorgonder.ToString().Split(',');
for (int i = 0; i < dekordizisi.Count(); i++)
{
cbx_dekor_paneli.SelectedIndex = cbx_dekor_paneli.FindStringExact(dekordizisi[i].ToString());
}

感谢@Jimi和@yassinMi的帮助。

如果你试图根据数组的内容在ListBox上选择多个项目:

for (int i = 0; i < dekordizisi.Count(); i++)
{
cbx_dekor_paneli.SetSelected(cbx_dekor_paneli.FindString(dekordizisi[i]), true);
}

还要确保ListBox.SelectionMode属性设置为MultiExtended

希望这对你的代码有帮助。

string dekordizisi = [];
foreach(int i in dekordizisi.GetSelectedIndices())
{
dekordizisi = dekordizisi + dekordizisi.Items[i] + ",";
}
dekordizisi = dekordizisi.Remove(dekordizisi.Length - 1);

在这段代码中,我们初始化了一个变量& &;dekordizisii &;到一个数组中,然后用foreach将它添加到数组中。

相关内容

  • 没有找到相关文章

最新更新