0

如何执行以下操作?

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”类型,我根本不知道如何解决我的问题。我可能会对此进行非常不同的编码,但我对为什么不能这样做很感兴趣。

4

1 回答 1

-1

在这里设法解决了我自己的问题 - 对于任何有兴趣的人,我已经在声明它和调用这个调用之间将 colCount 传递给调用,但是写了: dataGridView1.Invoke(new ResizeOperation(AddColumn), new[] { colCount }); 因为我认为那里的类型信息是多余的。

于 2011-10-08T10:41:37.647 回答