国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

C#中加強ListView控件的功能

2024-07-21 02:28:43
字體:
來源:轉載
供稿:網友
  • 本文來源于網頁設計愛好者web開發社區http://www.html.org.cn收集整理,歡迎訪問。
  •   首先是實現listview控件的自定義排序,訂閱listview控件的columnclick事件

    private void listview1_columnclick(object sender, columnclickeventargs e)
    {
     if (this.listview1.columns[e.column].tag == null)
      this.listview1.columns[e.column].tag = true;
      bool tabk = (bool)this.listview1.columns[e.column].tag;
     if (tabk)
      this.listview1.columns[e.column].tag = false;
     else
      this.listview1.columns[e.column].tag = true;
      this.listview1.listviewitemsorter = new listviewsort(e.column, this.listview1.columns[e.column].tag); 
      //指定排序器并傳送列索引與升序降序關鍵字
      this.listview1.sort();//對列表進行自定義排序
    }


      排序類的定義:

    ///
    ///自定義listview控件排序函數
    ///


    class listviewsort : icomparer
    {
     private int col;
     private bool desck;

     public listviewsort()
     {
      col = 0;
     }
     public listviewsort(int column, object desc)
     {
      desck = (bool)desc;
      col = column; //當前列,0,1,2...,參數由listview控件的columnclick事件傳遞
     }
     public int compare(object x, object y)
     {
      int tempint = string.compare(((listviewitem)x).subitems[col].text, ((listviewitem)y).subitems[col].text);
      if (desck) return -tempint;
      else return tempint;
     }
    }

      上面的listview控件的自定義排列,即單擊listview控件的標題時進行排序

      下面將實現listview控件的最后一列的去除,即自動調整合適的大小

      首先寫一個調整listview控件列寬的函數

    ///
    ///自動調整listview控件最后一列的列寬
    ///

    ///
    ///

    private void 調整lv列寬()
    {
     listview1.columnwidthchanged -= new columnwidthchangedeventhandler(listview1_columnwidthchanged);
     備注.autoresize(columnheaderautoresizestyle.headersize);
     listview1.columnwidthchanged += new columnwidthchangedeventhandler(listview1_columnwidthchanged);
    }

      上面的備注列是listview控件的最后一列的名稱,而listview控件的實例名為listview1

      然后訂閱listview控件的columnwidthchanged事件,即列寬改變時自動調整列寬

    ///
    /// listview列寬改變事件函數
    ///

    ///
    ///

    void listview1_columnwidthchanged(object sender, columnwidthchangedeventargs e)
    {
     調整lv列寬();
    }


      再訂閱listview控件的size_change事件,即窗口大小被改變時調整列寬

    void listview1_sizechanged(object sender, eventargs e)
    {
     調整lv列寬();
    }

      最后在窗體的shown事件中調整listview控件的列寬,即第一次顯示的時候馬上調整列寬

    private void 商品管理_shown(object sender, eventargs e)
    {
     調整lv列寬();
    }
    發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 汉中市| 丰原市| 开阳县| 海兴县| 读书| 修文县| 临城县| 青州市| 双流县| 泗水县| 青铜峡市| 老河口市| 黄山市| 安远县| 平阴县| 蒙山县| 开封县| 余姚市| 肃北| 平江县| 濉溪县| 察雅县| 阳西县| 鄂尔多斯市| 宁陵县| 金华市| 丘北县| 治多县| 苗栗县| 尼玛县| 冷水江市| 阿拉尔市| 清丰县| 蛟河市| 安塞县| 赞皇县| 绥芬河市| 肇州县| 赞皇县| 中西区| 新河县|