首页 新闻 会员 周边 捐助

在C#中,怎样遍历ListBox所有项的值?

0
[已解决问题] 解决于 2024-05-20 11:26

private void button2_Click(object sender , EventArgs e)
{
string s = " ";
foreach (var name in list_yxxy.Items.Cast<string >())
{
s = s + name;
}
MessageBox.Show(s);

}

除了这种强制转换的方法,还有别的方法吗?求解

C#
此去经年梦浪荡魂的主页 此去经年梦浪荡魂 | 初学一级 | 园豆:103
提问于:2020-04-14 20:33
< >
分享
最佳答案
0

分实现方式,比如 winForm or WPF;

winForm 分标准or非标 —— 标准自带应该是通过绘制Items[i].ToString()实现,如果Items[i]你自行绘制,那么可以比如你可以ToClass<T>等等;

WPF 主推数据模式(Model ->View模式),若是使用这种模式,绑定后Items取到的都是数据项,要获取控件需要其他手段,如重写;如果是基于Items.Add(UI),那么取到的就是子控件(且包装过),那么需要取到子控件的子项的DataContext才可以取到数据,当然也可以重写直接取到 这个UI,然后取DataContext;

现在的APP快速开发,这两种View体系都不是很方便。WPF纵然强大,但消耗比较高。而winForm虽然入门更容易,但是用好却很难,且还需要学习win32原理。绚烂又比不过很多游戏引擎,方便简单比不过Html,消耗跨平台比不过Qt。玩玩入门就好~~

奖励园豆:5
花飘水流兮 | 专家六级 |园豆:13617 | 2020-04-15 00:53

说的很有道理。

threecloud | 园豆:242 (菜鸟二级) | 2022-08-06 19:20
其他回答(1)
0

private void button1_Click(object sender, EventArgs e)
{
foreach (string item in this.listBox1.Items)
{
//item本身就是string 不需要转换啊
MessageBox.Show(item);
}
}

潇湘梦白 | 园豆:202 (菜鸟二级) | 2020-04-14 22:25
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册