ListView
ListView
Возможно, вы замечали, что в некоторых программах используется элемент ListView с градиентной заливкой. Например, такое оформление интерфейса можно увидеть в списке контактов. Оказывается, совсем не сложно применить такую раскраску в своем приложении. Но для этого надо использовать стиль LVS_GRADIENT, как показано в листинге 4.7.
Листинг 4.7
using System.Runtime.InteropServices;
[DllImport("coredll.dll")]
static extern int SendMessage(IntPtr hwnd, uint msg, int wParam, int lParam);
const int LVS_EX_GRADIENT = 0x20000000;
const int LVM_SETEXTENDEDLISTVIEWSTYLE = 0x1000 + 54;
// Создаем градиентный фон для ListView
private void CreateGradientListView(ListView listView) {
// Получим дескриптор ListView
IntPtr hLV = listView.Handle;
// Устанавливаем расширенный стиль
SendMessage(hLV, (uint)LVM_SETEXTENDEDLISTVIEWSTYLE, 0, LVS_EX_GRADIENT);
// Обновляем вид
listView.Refresh();
}
private void Form1_Load(object sender, EventArgs e) {
CreateGradientListView(listView1);
}