Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用windows窗体禁用网格中的选择颜色/选择单元格_C#_Windows_Forms_Grid_Selection - Fatal编程技术网

C# 如何使用windows窗体禁用网格中的选择颜色/选择单元格

C# 如何使用windows窗体禁用网格中的选择颜色/选择单元格,c#,windows,forms,grid,selection,C#,Windows,Forms,Grid,Selection,我使用的是C Windows窗体 我有一个网格视图。用户不能选择单元格。他一次只能用左右鼠标点击一个单元格 我没有找到如何禁用选择。所以我首先设置: this.grid.MultiSelect = false; 用户应该不能选择一个单元格,但如果他能够选择,只要我没有为它设置事件处理程序,那也不错。所以我的下一个想法是:我应该禁用选择颜色。所以我选择了与原作相同的颜色: this.gridCellStyle.SelectionBackColor = this.g

我使用的是C Windows窗体

我有一个网格视图。用户不能选择单元格。他一次只能用左右鼠标点击一个单元格

我没有找到如何禁用选择。所以我首先设置:

        this.grid.MultiSelect = false;
用户应该不能选择一个单元格,但如果他能够选择,只要我没有为它设置事件处理程序,那也不错。所以我的下一个想法是:我应该禁用选择颜色。所以我选择了与原作相同的颜色:

        this.gridCellStyle.SelectionBackColor = this.gridCellStyle.BackColor;
        this.gridCellStyle.SelectionForeColor = this.gridCellStyle.ForeColor;
我用随机测试值填充网格:

        grid.ColumnCount = 9;
        grid.Rows.Add(1, 2, 3, 4, 5, 6, 7, 8, 9);

问题:有没有更好的方法来禁用单元格选择或其默认样式?

如果要这样做,即使您所做的只是向用户隐藏单元格已被选择的指示,您可以将选择颜色设置为正常颜色,这些颜色绝对不透明,也绝对不相同,除非您使用的是白色对白色的隐形墨水溶液

这里唯一的错误是你的代码

至于你真正的问题

用户不能选择单元格。他一次只能用左右鼠标点击一个单元格。
至少在单元格上单击鼠标左键是选择它的一种方式,我们都有点困惑。

Hm,是的,当你单击单元格时,你选择了它。但是我仍然需要实现一个right mouseclick事件,它处理与left mouseclick不同的方法。由于默认的右键单击不会选择单元格,我认为以最纯的形式单击并不一定意味着选择单元格。单击会传递到网格,从而触发选择例程,就像使用键盘一样。如果可以访问执行cellselected的方法,您可以覆盖它。但是,要杀死一个标准的a和预期的行为似乎是一件麻烦事。