在DataGridView中禁用编辑

Jon*_*ilo 9 c# datagridview visual-studio winforms

我正在使用Visual Studio 2012.我想禁用编辑DataGridView,它似乎在我使用此代码时工作:

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
    dataGridView1.ReadOnly = true;
}
Run Code Online (Sandbox Code Playgroud)

但是当我返回菜单表单然后返回到原来的表单时DataGridView,它现在可以编辑了.我只定义

dataGridView1.ReadOnly = true;
Run Code Online (Sandbox Code Playgroud)

这种形式.我不知道这个问题是什么.有人可以帮忙吗?谢谢.

这是我进入菜单按钮的代码

Menu menu = new Menu();
this.Hide();
menu.ShowDialog();
Run Code Online (Sandbox Code Playgroud)

我的按钮返回DataGrid:

FrmList frmlist = new FrmList();
frmlist.Show();
this.Hide();
Run Code Online (Sandbox Code Playgroud)

Rom*_*ews 15

为什么不尝试在DataGridView的"属性"窗口中将属性设置ReadOnlyTrue

编辑:

双击表单,在设计窗口中,选择DataGridView并打开Properties选项卡.向下滚动属性,您将看到该ReadOnly选项.将其值更改为True.

ReadOnlyCellContentClick事件中设置属性,该属性仅在用户单击网格单元格时执行.因此,当您创建这样的表单的新对象时,

FrmList frmlist = new FrmList();
Run Code Online (Sandbox Code Playgroud)

它将Properties在设计器中使用set 创建表单的新实例.由于ReadOnly默认情况下该属性设置为false,并且您编写的将其设置为true的代码未执行,因此DataGridView将是可编辑的.