Как узнать порядковый номер колонки в ListView, после перетаскивания её мышью?
Свойство Index при этом не меняется.
21.10.04 12:05: Перенесено модератором из '.NET' — AndrewVK
Здравствуйте, x501, Вы писали:
X>Как узнать порядковый номер колонки в ListView, после перетаскивания её мышью?
X>Свойство Index при этом не меняется.
А зачем, если не секрет? Вы можете работать с Item'ами не беспокоясь об изменении взаимного положения колонок.
... << RSDN@Home 1.1.3 stable >>
Здравствуйте, x501, Вы писали:
X>Как узнать порядковый номер колонки в ListView, после перетаскивания её мышью?
X>Свойство Index при этом не меняется.
Примерно такой код, правда сам пока не пробовал
[DllImport("user32.dll", CharSet=CharSet.Auto)]
private static extern int SendMessage(
IntPtr hWnd, int msg, int wParam, int [] lParam);
private const int LVM_FIRST = 0x1000;
private const int LVM_GETCOLUMNORDERARRAY = (LVM_FIRST + 59);
private static int[] GetColumnHeaderOrder(ListView lv)
{
int count = lv.Columns.Count;
int[] order = new int[count];
if (SendMessage(lv.Handle, LVM_GETCOLUMNORDERARRAY, count, order) == 0)
throw new ApplicationException(
"Column");
return order;
}
private void button1_Click(object sender, System.EventArgs e)
{
int[] orders = GetColumnHeaderOrder(listView1);
for (int i = 0; i < listView1.Columns.Count; i++)
Console.WriteLine(listView1.Columns[i].Text +
":Position=" + orders[i].ToString());
}
Здравствуйте, x501, Вы писали:
X>Как узнать порядковый номер колонки в ListView, после перетаскивания её мышью?
X>Свойство Index при этом не меняется.
Columns[index].DisplayIndex