private int markColumn = int.MinValue;
private string[] columnNames;
private string[] sortmarks = new string[] { "△", "▽" };
private int markIndex;
private void listView_ColumnClick(object sender, System.Windows.Forms.ColumnClickEventArgs e)
{
if(markColumn == int.MinValue)
{
columnNames = new string[listView.Columns.Count];
for(int i = 0; i < listView.Columns.Count; i++)
{
columnNames[i] = listView.Columns[i].Text;
}
listView.Columns[e.Column].Text = columnNames[e.Column] + " " + sortmarks[1];
markColumn = e.Column;
markIndex = 1;
}
else
{
if(e.Column == markColumn)
{
markIndex++;
markIndex %= 2;
listView.Columns[e.Column].Text = columnNames[e.Column] + " " + sortmarks[markIndex];
}
else
{
listView.Columns[markColumn].Text = columnNames[markColumn];
listView.Columns[e.Column].Text = columnNames[e.Column] + " " + sortmarks[1];
markColumn = e.Column;
markIndex = 1;
}
}
// ソート処理は省略
}