using System;

using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.WindowsCE.Forms;

namespace ListViewGridDemo
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            #if DEBUG
                MinimizeBox = false;
            #else       
                MinimizeBox = true;
            #endif
        }
                
        // константы для сообщений табличного списка ListView

        /// <summary>
        /// Сообщение, получающее расширенный стиль ListView
        /// </summary>
        private const int LVM_GETEXTENDEDLISTVIEWSTYLE = 0x1037;

        /// <summary>
        /// Сообщение, устанавливающее расширенный стиль ListView 
        /// </summary>
        private const int LVM_SETEXTENDEDLISTVIEWSTYLE = 0x1036;

        /// <summary>
        /// Стиль Сетка для ListView
        /// </summary>
        private const int LVS_EX_GRIDLINES = 0x1;
        
        // процедура установки сетки у ListView
        public static void SetGridLines(ListView lvw)
        {
            lvw.Focus();
            
            // Создаем сообщение
            Message LVIEWMESSAGE = Message.Create(lvw.Handle,
                LVM_GETEXTENDEDLISTVIEWSTYLE, IntPtr.Zero, IntPtr.Zero);
            MessageWindow.SendMessage(ref LVIEWMESSAGE);

            int extendedStyle = (int)LVIEWMESSAGE.Result;
            extendedStyle |= LVS_EX_GRIDLINES;

            // Посылаем сообщение ддя установки сетки
            LVIEWMESSAGE = Message.Create(lvw.Handle,
                LVM_SETEXTENDEDLISTVIEWSTYLE, IntPtr.Zero, (IntPtr)extendedStyle);
            MessageWindow.SendMessage(ref LVIEWMESSAGE);
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            SetGridLines(listView1);
        }
    }
}