我有一个ListView
,我正在尝试对它们进行排序,BackColor
首先是带有红色的项目,然后是带有ForeColor
红色的项目,最后是其余的项目,但所有这些都应该在他们的组中按名称排序。
我写了这段代码,但我仍然把大块相同的项目分开:
public int Compare (object x, object y)
{
int CompareResult;
ListViewItem a = (ListViewItem) x;
ListViewItem b = (ListViewItem) y;
if (a.BackColor == Color.FromArgb (200, 0, 0))
{
if (b.BackColor == Color.FromArgb(200, 0, 0))
{
return a.Text.CompareTo(b.Text);
}
else
{
return -1;
}
}
else
{
if (a.ForeColor == Color.FromArgb(200, 0, 0))
{
if (b.ForeColor == Color.FromArgb(200, 0, 0))
{
return a.Text.CompareTo(b.Text);
}
else
{
return -1;
}
}
else
{
return 1;
}
}
}