WinCE 中的 ListView怎么显示网格

本文介绍如何使用 C# 在 Windows Forms 应用程序中通过 P/Invoke 调用 Win32 API 来设置 ListView 控件的扩展样式,实现如网格线等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

using System;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
 
namespace SmartDeviceProject2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
 
        private const uint LVM_FIRST = 0x1000;
        private const uint LVM_SETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 54;
        private const uint LVS_EX_GRIDLINES = 0x00000001;
       // private const uint LVS_EX_FULLROWSELECT = 0x20;
 
        [DllImport("coredll.dll", CharSet = CharSet.Auto)]
        public static extern IntPtr SendMessage(IntPtr hWnd, UInt32 Msg, IntPtr wParam, IntPtr lParam);
 
 
        public struct message
        {
          //  public const uint LVM_FIRST = 0x1000;
          //  public const uint LVM_SETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 54;
            private const uint LVS_EX_FULLROWSELECT = 0x20;
            public const uint LVS_EX_GRIDLINES = 0x00000001;
           
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            unsafe
            {
 
                message mess = new message();
                SendMessage(this.listView1.Handle, (uint)LVM_SETEXTENDEDLISTVIEWSTYLE, (IntPtr)0, (IntPtr)(&mess));
                // SendMessage(this.listView1.Handle, (uint)LVM_SETEXTENDEDLISTVIEWSTYLE, (IntPtr)0, ((IntPtr)LVS_EX_GRIDLINES) );
            }
        }
    }
}


转载网址 : http://bbs.youkuaiyun.com/topics/390604512?page=1   感谢资源共享的人

### 如何在 WPF ListView显示网格线 为了在 `ListView` 控件中显示网格线,在定义控件时可以利用 `GridView` 的样式属性来实现这一需求。具体来说,通过设置 `GridLinesVisibility` 属性以及调整单元格之间的边距可以让网格线显现出来。 下面是一段用于展示如何启用 `ListView` 网格线的 XAML 代码: ```xml <ListView> <ListView.View> <GridView AllowsColumnReorder="True"> <!-- 显示水平和垂直方向上的网格线 --> <GridView.ColumnHeaderContainerStyle> <Style TargetType="{x:Type GridViewColumnHeader}"> <Setter Property="HorizontalContentAlignment" Value="Left"/> </Style> </GridView.ColumnHeaderContainerStyle> <GridView.RowStyle> <Style TargetType="{x:Type ListViewItem}"> <Setter Property="BorderThickness" Value="1"/> <Setter Property="Padding" Value="2"/> <Setter Property="Margin" Value="-1,0,-1,0"/> <Setter Property="Background" Value="Transparent"/> <Setter Property="BorderBrush" Value="#C9C9C9"/> <!-- 设置网格线条颜色 --> </Style> </GridView.RowStyle> <GridViewColumn Header="名称" Width="120" DisplayMemberBinding="{Binding Name}"/> <GridViewColumn Header="年龄" Width="80" DisplayMemberBinding="{Binding Age}"/> <GridViewColumn Header="职业" Width="150" DisplayMemberBinding="{Binding Job}"/> </GridView> </ListView.View> </ListView> ``` 这段代码不仅设置了每一行项目的边框厚度 (`BorderThickness`) 和填充 (`Padding`) 来模拟网格效果,还特别指定了边框画刷的颜色 (`BorderBrush`) 使得网格更加明显[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值