我如何做以下事情?
private delegate void RenameOperation(string name, string uniqueName, int position);
private void AssignColumnNames(string name, string uniqueName, int position)
{
dataGridView1.Columns[position].HeaderCell.Value = name;
dataGridView1.Columns[position].HeaderCell.Tag = uniqueName;
}
void SomeFunction()
{
int colCount = 0;
// ... some other code
if (dataGridView1.InvokeRequired)
{
RenameOperation rename = new RenameOperation(AssignColumnNames);
dataGridView1.Invoke(rename, member.Name, member.UniqueName, colCount);
}
}
每次我这样做,我得到'System.Int32 []'类型的对象无法转换为'System.Int32'类型,我根本不知道如何解决我的问题。我可能会以非常不同的方式编码,但我很感兴趣为什么我不能这样做。
答案 0 :(得分:-1)
管理来解决我自己的问题 - 对于任何感兴趣的人我已经通过colCount在声明它并调用此调用之间调用,但写了:dataGridView1.Invoke(new ResizeOperation(AddColumn),new [] {colCount} );因为我认为那里的类型信息是多余的。