今天写了一个可以显示进度条的ListView控件,代码如下:
/// <summary>
/// ListViewEx 的摘要说明。
/// </summary>
public class ListViewEx : System.Windows.Forms.ListView
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null;
private String mProgressColumnText = String.Empty;
/// <summary>
/// 需要设置为进度条的列标头文字,根据这些文字判断所在列是否为进度条显示列
/// </summary>
private String ProgressColumnText
{
get
{
return mProgressColumnText;
}
set
{
mProgressColumnText = value;
}
}
private Color mProgressColor = Color.Red;
public Color ProgressColor
{
get
{
return this.mProgressColor;
}
set
{
this.mProgressColor = value;
}
}
private Color mProgressTextColor = Color.Black;
public Color ProgressTextColor
{
get
{
return mProgressTextColor;
}
set
{
mProgressTextColor = value;
}
}
public ListViewEx()
{
SetStyle(
ControlStyles.AllPaintingInWmPaint |
ControlStyles.DoubleBuffer |
ControlStyles.UserPaint |
ControlStyles.ResizeRedraw,
true);