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);
        }
    }

これを行うたびに、Object of type 'System.Int32[]' cannot be convert to type 'System.Int32' が発生し、問題を解決する方法がまったくわかりません。おそらくこれを非常に異なる方法でコーディングできますが、なぜこれができないのかに興味があります。

4

1 に答える 1

-1

ここで私自身の問題を解決することができました-興味のある人のために、それを宣言してからこの呼び出しを呼び出すまでの間に colCount を呼び出しに渡しましたが、次のように書きました: dataGridView1.Invoke(new ResizeOperation(AddColumn), new[] { colCount }); そこにある型情報が冗長だと思ったからです。

于 2011-10-08T10:41:37.647 に答える