读书人

小疑点:listview

发布时间: 2012-02-29 16:44:10 作者: rapoo

小问题:listview
[code=C#][/code]foreach(ListViewItem item in this.lVw.Items )
{
if(pos.ToString ()==item.Text .ToString ())
{
MessageBox.Show ("该位置有图,请重新操作","提示信息",MessageBoxButtons.OK , MessageBoxIcon.Warning);
}
else
{
//pb是动态生成的picturebox
pb.Location =new Point ((int)(this.pBx_bjl .Location .X +(i+j)*(pos-1)+i/2),this.pBx .Location .Y );//位置
pb.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage ;
this.pl .Controls .Add (pb);
this.lVw .Items .Add (添加数据的信息);//listview中添加数据
pb.Name =this.lVw .Items[0].Text .ToString ();//绑定
}
}

实现:如果listview的第一列与pos是否相等,如果相等,提示messagebox,如果不 ,则动态生成picturebox添加数据,但是我这么写是动态生成不了的,因为在foreach中遍历,问:有办法不写遍历,就能够判断第一列中所有的数据和if中的pos的关系么

[解决办法]
给每个动态生成的控件创建唯一的ID

每个循环前 pb 都应该 new 一下呀.
[解决办法]
!!!
[解决办法]
楼主你很搞笑的嘛!反反复复的!
[解决办法]
不写遍历用这个ItemDataBound事件应该可以
[解决办法]
................
[解决办法]

探讨
靠,不行,还有点没实现..............

[解决办法]
接分了!!
谢谢!!
[解决办法]
pos是什么变数,也是文字列吗?
[解决办法]
???
不管了先接分了
[解决办法]
改为for语句.
[解决办法]
走别人的路,让别人无路可走
[解决办法]
先接分
[解决办法]
foreach(ListViewItem item in this.lVw.Items )
{
if(pos.ToString ()==item.Text .ToString ())

==

for(int i = 0; i < lVw.Items[i].Count; i++
{
if(pos.ToString ()==lVw.Items[i].Text) //都已经Text了还ToString()干什么

[解决办法]
C# code
bool exist = false;for(int i=0;i<lVw.Items.Count;i++){    if(pos.ToString() == lVw.Items[i].Text)        exist = true;    else    {                                        //pb是动态生成的picturebox        pb.Location =new Point ((int)(this.pBx_bjl .Location .X +(i+j)*(pos-1)+i/2),this.pBx .Location .Y );//位置        pb.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage ;        this.pl .Controls .Add (pb);        this.lVw .Items .Add (添加数据的信息);//listview中添加数据        pb.Name =this.lVw .Items[0].Text .ToString ();//绑定    } }if(exist){    MessageBox.Show ("位置"+pos.ToString()+"有图,请重新操作","提示信息",MessageBoxButtons.OK ,  MessageBoxIcon.Warning); }
[解决办法]
解决问题没?

[解决办法]
可以增加一个计数器变量,用它来判断!!
[解决办法]
貌似自问自答

读书人网 >C#

热点推荐