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);
}
除了这种强制转换的方法,还有别的方法吗?求解
分实现方式,比如 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。玩玩入门就好~~
说的很有道理。
private void button1_Click(object sender, EventArgs e)
{
foreach (string item in this.listBox1.Items)
{
//item本身就是string 不需要转换啊
MessageBox.Show(item);
}
}