【问题标题】:CTRL-A selects hidden rows in DataGridViewCTRL-A 选择 DataGridView 中的隐藏行
【发布时间】:2012-03-02 22:34:14
【问题描述】:

我的 C# 程序中有一个 DataGridView 对象,根据打开的过滤器设置,它有时会隐藏行。我将 DGV 中的 MultiSelect 设置设置为 True,当单击另一个按钮时,每行的 ID 将移至 ListBox。但是,我注意到如果按 CTRL-A,所有行(包括隐藏的行)也会被移动。我通过将它们的 Visible 属性更改为 False 来隐藏这些行。

我环顾四周,但找不到让 CTRL-A 命令只选择可见行的解决方案。这可能吗?

谢谢!

【问题讨论】:

    标签: c# winforms datagridview


    【解决方案1】:

    您可以通过处理网格的KeyDown 事件来实现此自定义行为。在你的情况下,你可以这样写:

    private void grid_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.Modifiers == Keys.Control && e.KeyCode == Keys.A)
        {
            foreach (DataGridViewRow row in grid.Rows)
            {
                row.Selected = row.Visible;
            }
            e.Handled = true;
            e.SuppressKeyPress = true;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-07
      • 2013-11-20
      • 2020-08-11
      • 1970-01-01
      • 2012-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多