C# DataGridView:FullRowSelect和Focus
我在一个模式窗口中有一个DataGridView,其中有我的程序的选项列表。网格有两个节点。第一个包含用于选择该选项的复选框,第二个是该选项的名称/说明。winform还包含OK和cancel按钮,但这并不是重点。下面的代码符合我的要求。由于FullRowSelect属性,在单击该行的任意位置时,复选框处于选中/取消选中状态。但是,它不再显示蓝色背景或围绕当前行的虚线。我如何才能在不丢失任何当前功能的情况下添加此功能 编辑:详细说明;我想要的是在所选行/单元格上再次启用虚线和/或蓝色背景。它看起来像是我目前的代码以某种方式禁用了这个 相关现行代码: 我会尝试使用该方法并将行颜色设置为蓝色。我想你也可以加上一个虚线 我相信你可以这样称呼它:C# DataGridView:FullRowSelect和Focus,c#,visual-studio,winforms,datagridview,focus,C#,Visual Studio,Winforms,Datagridview,Focus,我在一个模式窗口中有一个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这能确保在加载时顶行是蓝色的吗?我不希望只在单击鼠标时发生这种情况。当前行将始终被勾勒/着色。这就是我想做的…我认为您希望选中的每一行都有蓝色背景,对吗?