热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

WinCE(VS2008C#)包装ListView

2014年3月4日星期二北京海淀五路居晴这个界面貌似太单调了一点:1.多选,没有2.编辑,没有3.

2014年3月4日星期二  北京海淀五路居 晴


这个界面貌似太单调了一点:

1.          多选,没有

2.          编辑,没有

3.          删除,没有

4.          增加,没有

5.          网格,没有

 

    一.实现表格线的方法:

        //使用的时候直接调用静态方法SetGridLines(ListViewlvw),即可,该类是百度出来的,汗一个

    Public class DrawGridLineForListView {

        private const int LVM_GETEXTENDEDLISTVIEWSTYLE = 0x1037;

        private const int LVM_SETEXTENDEDLISTVIEWSTYLE = 0x1036;

        private const int LVS_EX_GRIDLINES = 0x1;

        [System.Runtime.InteropServices.DllImport("coredll.dll")]

        private static extern int SendMessageW(int hWnd, int wMsg, int wParam, int lParam);

        [System.Runtime.InteropServices.DllImport("coredll.dll")]

        private static extern int GetFocus();

        public static void SetGridLines(System.Windows.Forms.ListView lvw)

       {

           lvw.Focus();

           int hWnd = GetFocus();

           int extendedStyle = SendMessageW(hWnd, LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0);

           extendedStyle |= LVS_EX_GRIDLINES;

           SendMessageW(hWnd, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, extendedStyle);

       }

    }

       调用了静态方法之后,效果是有的:


    二.弹出菜单:

        //1.在ItemCheck()方法下,绑定一个上下文菜单这样

        //用鼠标(或者触屏笔)长按,即可弹出一个上下文菜单,增,删,改,都可做了

        //注:使用上下文菜单ContextMenu控件时,要将该控件绑定到ListView的

        //ContextMenu属性,不然估计是出不来的

       

        //2.ListView的CheckBoxes属性设置为True,显示复选框实现多选

       

    private voidlvMaterialIDView_ItemCheck(object sender, ItemCheckEventArgs e)
    {
        lvMaterialIDView.ContextMenu.Show(lvMaterialIDView, MousePosition);
    }

        效果如下:


        到此,ListView包装结束,虽然不是一个合格的经纪人,姑且也就这样了。


推荐阅读
author-avatar
莪啝伱在一敧
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有