我一直在努力解决这个问题太长时间了,我已经看到了关于这个主题的所有答案,虽然我发现其中几个似乎对我没有用.所以我的问题的基础如下:DataGridView一旦DataGridView双击另一个单元格,我就会向自己添加一行.当这个DataGridView行添加时,它会向其自身添加两种类型的列,其中一个是a ComboBox,其中已经设置了一个集合(只是转到ComboBoxdatagrid中的选项并填充其集合)和一个复选框列,现在一旦我点击它们,doble clic,多次点击你想要但没有任何反应,他们两个都什么都不做.我甚至试过以下代码.
public static void combolist(DataGridView combogrid)
{
var column = new DataGridViewComboBoxColumn();
DataTable data = new DataTable();
data.Columns.Add(new DataColumn("Value", typeof(string)));
data.Columns.Add(new DataColumn("Description", typeof(string)));
data.Rows.Add("item1");
data.Rows.Add("item2");
data.Rows.Add("item3");
column.DataSource = data;
column.ValueMember = "Value";
column.DisplayMember = "Description";
combogrid.Columns.Add(column);
}
Run Code Online (Sandbox Code Playgroud)
即使我可以添加类型的新列ComboBox到我的DataGridView它仍然是空的(或似乎是因为我不能点击查看下拉列表).我的数据DataGridViewgridview属性设置为:
editMode:editOnEnter,readOnly:false.
这里有什么我想念的吗?为什么我不能填充或显示这个ComboBox?,这个问题让我发疯,我相信这是找到答案的最佳网站.我非常感谢...很多.
好的,所以我肯定需要从另一个角度来看问题,我甚至尝试ComboBox将数据源绑定到仍然没有显示任何内容!即使绑定到法线的相同数据源ComboBox获得了预期的结果
DataGridViewComboBoxCell ComboColumn = (DataGridViewComboBoxCell)(combogrid.Rows[0].Cells[2]);
ComboColumn.DataSource = class.details.GetData();
ComboColumn.DisplayMember = "name";
Run Code Online (Sandbox Code Playgroud)
ComboBox在内部工作时,我是否缺少一些基本步骤DataGridView?
我的问题是因为我相信简单,但它变得有点复杂,我想要实现的是:我在WinForm中有几个按钮,几乎完全相同,所以我创建了一个单独的事件来处理所有这些,现在我希望根据他们点击的鼠标按钮为他们提供一些其他功能,例如,如果按下左键单击按钮执行,但如果右键单击以其他方式执行,可以如何实现?,任何帮助将不胜感激.
我正在寻找像这样的声明......
private void buttons_Click(object sender, EventArgs e)
{
if(e.buttons==mousebuttons.right)
//do something
else
//do other thing
}
Run Code Online (Sandbox Code Playgroud)
你知道的事情是,这是不能实现的,因为e没有mouse button events它,因为我被称为一个button click event.