【发布时间】:2011-04-07 17:26:10
【问题描述】:
我在这里很困惑。我正在尝试对该列表视图的各个单元格进行样式化,但结果很奇怪。我创建 listviewitem 的代码如下:
lvi = new ListViewItem();
lvi.Text = row["Size"].ToString();
lvi.SubItems.Add(row["Item"].ToString());
lvi.SubItems[0].Font = new System.Drawing.Font(lvi.Font, FontStyle.Underline);
lvi.SubItems[1].ForeColor = Color.Blue;
listAvailableSizes.Items.Add(lvi);
所以,理论上我的第一个子项应该加下划线,第二个应该是蓝色的(这些只是任意样式)。即时窗口确认应该是这种情况:
listAvailableSizes.Items[0].SubItems[0].ForeColor
"{Name=WindowText, ARGB=(255, 0, 0, 0)}"
A: 255
B: 0
G: 0
IsEmpty: false
IsKnownColor: true
IsNamedColor: true
IsSystemColor: true
Name: "WindowText"
R: 0
listAvailableSizes.Items[0].SubItems[1].ForeColor
"{Name=Blue, ARGB=(255, 0, 0, 255)}"
A: 255
B: 255
G: 0
IsEmpty: false
IsKnownColor: true
IsNamedColor: true
IsSystemColor: false
Name: "Blue"
R: 0
listAvailableSizes.Items[0].SubItems[0].Font.Underline
true
listAvailableSizes.Items[0].SubItems[1].Font.Underline
false
据此,子项位置 0 具有常规彩色文本和下划线,位置 1 具有蓝色文本且没有下划线,但是,它是这样显示的:
如您所见,两者都带有下划线,也不是蓝色。我错过了什么吗?
【问题讨论】: