Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.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# DataGridView:FullRowSelect和Focus_C#_Visual Studio_Winforms_Datagridview_Focus - Fatal编程技术网

C# DataGridView:FullRowSelect和Focus

C# DataGridView:FullRowSelect和Focus,c#,visual-studio,winforms,datagridview,focus,C#,Visual Studio,Winforms,Datagridview,Focus,我在一个模式窗口中有一个DataGridView,其中有我的程序的选项列表。网格有两个节点。第一个包含用于选择该选项的复选框,第二个是该选项的名称/说明。winform还包含OK和cancel按钮,但这并不是重点。下面的代码符合我的要求。由于FullRowSelect属性,在单击该行的任意位置时,复选框处于选中/取消选中状态。但是,它不再显示蓝色背景或围绕当前行的虚线。我如何才能在不丢失任何当前功能的情况下添加此功能 编辑:详细说明;我想要的是在所选行/单元格上再次启用虚线和/或蓝色背景。它看起

我在一个模式窗口中有一个DataGridView,其中有我的程序的选项列表。网格有两个节点。第一个包含用于选择该选项的复选框,第二个是该选项的名称/说明。winform还包含OK和cancel按钮,但这并不是重点。下面的代码符合我的要求。由于FullRowSelect属性,在单击该行的任意位置时,复选框处于选中/取消选中状态。但是,它不再显示蓝色背景或围绕当前行的虚线。我如何才能在不丢失任何当前功能的情况下添加此功能

编辑:详细说明;我想要的是在所选行/单元格上再次启用虚线和/或蓝色背景。它看起来像是我目前的代码以某种方式禁用了这个

相关现行代码:

我会尝试使用该方法并将行颜色设置为蓝色。我想你也可以加上一个虚线

我相信你可以这样称呼它:

optionsBannersDataGridView.OnCellClick += new DataGridViewCellEventArgs(optionsBannersDataGridView_OnCellClick);
public OptionsForm()
    {
        InitializeComponent();
        AlternativerRoot = Alternativer.GetReadOnlyRoot(AlternativerFanerNameValueList.GetNameValueList(Settings.Default.AlternativerFaner));
        InitUI();
        Closing += MyFormClosing;
        _bindingSourceTree = BindingSourceHelper.InitializeBindingSourceTree(components, rootBindingSource);
    }

我最终做的是删除上面提到的大部分代码,因为它实际上做的不多。出于某种原因,当我在VisualStudio中设置属性时,它不起作用,但现在起作用了。我不知道那里发生了什么,但那不是重点

构造函数现在看起来如下所示:

optionsBannersDataGridView.OnCellClick += new DataGridViewCellEventArgs(optionsBannersDataGridView_OnCellClick);
public OptionsForm()
    {
        InitializeComponent();
        AlternativerRoot = Alternativer.GetReadOnlyRoot(AlternativerFanerNameValueList.GetNameValueList(Settings.Default.AlternativerFaner));
        InitUI();
        Closing += MyFormClosing;
        _bindingSourceTree = BindingSourceHelper.InitializeBindingSourceTree(components, rootBindingSource);
    }
这些属性是在VisualStudioGUI中设置的。SelectionMode设置为FullRowSelect,MultiSelect设置为false

我仍然没有得到我想要的焦点,所以我在VisualStudio中将所选行的背景色设置为蓝色,前景色设置为白色。现在我想这样做


我仍然不知道为什么之前没有正确设置属性,但至少现在它可以工作了:p

这能确保在加载时顶行是蓝色的吗?我不希望只在单击鼠标时发生这种情况。当前行将始终被勾勒/着色。这就是我想做的…我认为您希望选中的每一行都有蓝色背景,对吗?