1

有没有办法检测网格控制垂直滚动条是可见还是隐藏。或者如果隐藏或可见则返回值的属性?我目前正在使用 dev express 网格控件,任何人都可以提供答案吗?我一直在寻找几个小时,但我找不到答案。

4

3 回答 3

1

这适用于旧版本的 DevExpress 网格视图。我也使用标准反射得到了 null 。

private GridViewInfo GetViewInfo(GridView view)
    {
        FieldInfo fi;

        fi = typeof(GridView).GetField("fViewInfo", BindingFlags.NonPublic | BindingFlags.Instance);

        GridViewInfo griInfo = fi.GetValue(view) as GridViewInfo;
        if (griInfo != null)
         {
          // check if scrollbar
          if (griInfo.VScrollBarPresence == ScrollBarPresence.Visible)
          {
              Console.WriteLine("Scrollbar visible");
          }
          else
          {
              Console.WriteLine("Scrollbar not visible");
          }
        }
        return griInfo;
    }
于 2014-06-04T08:33:55.060 回答
0

Grid Control 不提供此类属性。为什么不使用 XtraScrollableControl?

于 2014-05-28T07:22:08.260 回答
0
    private void button1_Click(object sender, EventArgs e)
    {
        // create a long list to force scrollbar
        List<String> tempList = new List<string> { "1 value", "1 value", "1 value", "1 value", "1 value", "1 value", "1 value", "1 value", "1 value", "1 value", "1 value", "1 value", "1 value" };
        gridControl1.DataSource = tempList;

        // check if scrollbar is visible
        GridViewInfo viewInfo = gridView1.GetViewInfo() as GridViewInfo;
        if (viewInfo != null)
        {
            // check if scrollbar
            if (viewInfo.VScrollBarPresence == ScrollBarPresence.Visible)
            {
                Console.WriteLine("Scrollbar visible");
            }
            else
            {
                Console.WriteLine("Scrollbar not visible");
            }
        }
    }

资料来源:DevExpress

于 2014-05-28T08:45:23.810 回答