解决方法是第一列变成空列,从第二列开始有效,程序如下:
this.listViewResult.Columns.Add("", 0, HorizontalAlignment.Right);//加一空列,原因是第一列内容无法居中
this.listViewResult.Columns.Add("序号", (this.listViewResult.Size.Width-4) / 5, HorizontalAlignment.Center);
this.listViewResult.Columns.Add("类型", (this.listViewResult.Size.Width-4 ) *2/ 5, HorizontalAlignment.Center);
this.listViewResult.Columns.Add("相似度", (this.listViewResult.Size.Width-4) *2/ 5, HorizontalAlignment.Center);
表操作的程序如下:
public void Method(string input1, string input2, bool result)
{
//显示编辑框信息
this.listViewResult.BeginUpdate(); //数据更新,UI暂时挂起,直到EndUpdate绘制控件,可以有效避免闪烁并大大提高加载速度
int count = this.listViewResult.Items.Count + 1;
ListViewItem lvi = new ListViewItem();
lvi.Text = "";
lvi.SubItems.Add(count.ToString());
lvi.SubItems.Add(input1);
lvi.SubItems.Add(input2);
this.listViewResult.Items.Add(lvi);
this.listViewResult.Items[count - 1].EnsureVisible();
if (result)
{
this.listViewResult.Items[count - 1].BackColor = Color.LightBlue;
if (count > 1)
{
if(this.listViewResult.Items[this.listViewResult.Items.Count - 2].BackColor == Color.LightBlue)
this.listViewResult.Items[this.listViewResult.Items.Count - 2].BackColor = Color.White;
}
}
else
{
this.listViewResult.Items[count - 1].BackColor = Color.Red;
}
this.listViewResult.EndUpdate(); //结束数据处理,UI界面一次性绘制。
}