在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中添加图片各文字?的主要内容,如果未能解决你的问题,请参考以下文章