在C#中怎么用代码向listView中添加图片各文字?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在C#中怎么用代码向listView中添加图片各文字?相关的知识,希望对你有一定的参考价值。

第一步:在窗体中拖入ListView控件和imageList控件;
第二步:设置imageList控件的Images属性,添加你想要的图片;
第三步:设置ListView控件的SmallImageList、LargeImageList、StateImageList属性为imageList;
第四步:编辑ListView控件项的ImageIndex行为你就会发现图片成功显示出来了!
附:在ListView控件中添加选项的代码
private void button1_Click(object sender, EventArgs e)

if (textBox1.Text == "")

MessageBox.Show("添加的内容不能为空");
textBox1.Focus(); //获取焦点


else

if (listView1.Items.Count > 0) //判断列表框中是否有项

//循环比较是否有重复项,有则放弃添加
for (int i = 0; i < listView1.Items.Count; i++)

if (string.Compare(listView1.Items[i].Text.ToString(), textBox1.Text) == 0)

MessageBox.Show("项目重复,不能添加!");
textBox1.Text = ""; //清空文本框
textBox1.Focus();
return;


listView1.Items.Add(textBox1.Text.ToString());
textBox1.Text = "";

else

listView1.Items.Add(textBox1.Text.ToString()); //将文本框中的数据添加到列表框
textBox1.Text = "";



参考技术A ColumnHeader ch = new ColumnHeader();
ch.Text = "控制机列表";
ColumnHeader weizhi = new ColumnHeader();
weizhi.Text = "控制机位置";
ColumnHeader Ipadress = new ColumnHeader();
Ipadress.Text = "IP地址";
ch.TextAlign = HorizontalAlignment.Left;
ch.Width = 150;
weizhi.Width = 100;
Ipadress.Width = 200;
lvDevc.Columns.Add(ch);
lvDevc.Columns.Add(weizhi);
lvDevc.Columns.Add(Ipadress);
// lvDevc.LargeImageList = this.imageList1;
// label9.Text = "控制机信息加载中.....";
BLL.ControllerParamSet bll = new BLL.ControllerParamSet();
this.lvDevc.BeginUpdate();
for (int i = 0; i < bll.GetTablePlaceDevcNumber().Rows.Count; i++)// 控制机树的加载

ListViewItem lvi = new ListViewItem(bll.GetTablePlaceDevcNumber().Rows[i][0].ToString());
// lvi.Text = bll.GetTablePlaceDevcNumber().Rows[i][0].ToString() + bll.GetTablePlaceDevcNumber().Rows[i][1].ToString();
lvi.SubItems[0].Text = bll.GetTablePlaceDevcNumber().Rows[i][0].ToString();
lvi.SubItems.Add(bll.GetTablePlaceDevcNumber().Rows[i][1].ToString());
lvi.SubItems.Add(bll.GetTablePlaceDevcNumber().Rows[i][2].ToString());
lvi.ImageIndex = 0;
this.lvDevc.Items.Add(lvi);

this.lvDevc.EndUpdate();
// label9.Text = "";

参考技术B 用imagelist然后指定imageindex大概可以

C#用代码向窗体中添加控件?

示例一:向窗体添加一个按钮:

using System;using System.Drawing;using System.Windows.Forms;
namespace WindowsFormsApp33{ public partial class Form1 : Form { public Form1() { InitializeComponent(); //实例化一个命令按钮 Button btn = new Button(); //设置命令按钮的属性 btn.Location = new Point(50, 50); btn.Size = new Size(80, 25); btn.Text = "退出"; btn.Click += btn_Click;            //btn.Click += new System.EventHandler(this.btn_Click); //添加到窗口的Controls集合中 this.Controls.Add(btn); } void btn_Click(object sender, EventArgs e) { this.Close(); }
}}

btn.Click += new System.EventHandler(this.btn_Click);

btn.Click += btn_Click;等价

示例二:态生成控件

using System;using System.Drawing;using System.Windows.Forms;
namespace WindowsFormsApp33{ public partial class Form1 : Form { public Form1()
{ InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { int row = 0; for (int i = 0; i < 15; i++) { if (i % 5 == 0 && i != 0) { row++; } Button btn = new Button(); //控件名称 btn.Name = "mybutton" + i.ToString(); //控件显示文本 btn.Text = string.Format("按钮{0}", i + 1); //控件大小 btn.Size = new Size(50, 50); //控件位置【动态变化】 btn.Location = new Point(50 + i % 5 * 100, 50 + row * 100); //添加到窗体 this.Controls.Add(btn); } } }}



方法很多,只要创建后保留了对象的引用就行,比如说可以放在List里,或者也可以多建几个变量,比如象
List<Button> list = new List<Button>();
private void Form1_Load(object sender, EventArgs e)
{
for (int i = 0; i < 4; i++)
{
Button btn = new Button();
btn.Text = "xxx"+i;
//其它属性赋值
list.Add(btn);
}
}
之后你就可以通过list[2]这种来访问对应的button了,比如list[0].Text="aaa";


以上是关于在C#中怎么用代码向listView中添加图片各文字?的主要内容,如果未能解决你的问题,请参考以下文章

c# listview 怎么添加图片

listview控件用法?

C#如何向listview中的一列添加LIST集合中的OBJECT数据

如何在 C#中的listView 控件中显示图片?

如何在 C#中的listView 控件中显示图片?

c#点击treeView中的文件夹怎么让文件夹中图片的缩略图显示在listView中