zoukankan      html  css  js  c++  java
  • WinCE设置DataGrid行高

    /// <summary>
    /// 设置DataGrid所有行的行高
    /// </summary>
    /// <param name="dg">DataGrid对象</param>
    /// <param name="cy">行高</param>
    public void SetGridDefaultRowHeight(DataGrid dg, int cy)
    {
        FieldInfo fi = dg.GetType().GetField("m_cyRow",
                        BindingFlags.NonPublic |
                        BindingFlags.Static |
                        BindingFlags.Instance);
        fi.SetValue(dg, cy);
        dg.GetType().GetMethod("_DataRebind",
                         BindingFlags.NonPublic |
                         BindingFlags.Static |
                         BindingFlags.Instance).Invoke(dg, new object[] { });
    }
    /// <summary>
    /// 设置指定行的行高
    /// </summary>
    /// <param name="dg">DataGrid对象</param>
    /// <param name="nRow">行索引</param>
    /// <param name="cy">行高</param>
    public void SetGridRowHeight(DataGrid dg, int nRow, int cy)
    {
        ArrayList arrRows = (ArrayList)dg.GetType().GetField("m_rlrow",
                        BindingFlags.NonPublic |
                        BindingFlags.Static |
                        BindingFlags.Instance).GetValue(dg);
        object row = arrRows[nRow];
        row.GetType().GetField("m_cy",
                         BindingFlags.NonPublic |
                         BindingFlags.Static |
                         BindingFlags.Instance).SetValue(row, cy);

    调用完上述函数后,要手动重绘,Gird.Invalidate()。
    利用反射你可以充分的自定义DataGrid的一些隐藏属性,并使用它的一些非公开的方法, 比如以下代码打印了所有DataGrid的隐藏属性:
    public void PrintField()
    {
        System.Reflection.FieldInfo[] fis = typeof(DataGrid).GetFields(BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static);
        string str = "";
        foreach (var fi in fis)
        {
            str+=fi.Name + ":" + fi.FieldType.ToString()+"\r\n";
        }
        MessageBox.Show(str);
    }
  • 相关阅读:
    #JVM方法区、堆、栈’#
    #前端# 解决前端页面滑动不顺畅的问题
    【Web协议】服务器推送浏览器:Server-Sent Events(SSE)
    【性能调优】Java程序CPU高定位
    转载 I/O模型:BIO/NIO/AIO 学习
    【性能调优】Java程序内存高定位
    算法--字符串:最长回文子序列
    算法--字符串:最长递增子序列LIS
    算法--字符串:最长回文子串
    算法--字符串:最长公共子序列LCS
  • 原文地址:https://www.cnblogs.com/sydeveloper/p/2683367.html
Copyright © 2011-2022 走看看