Не уверен, что именно вы пытаетесь сделать, но это вызовет событие с аргументами.
Примерно так должно работать:
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
var senderGrid = (DataGridView)sender;
if (senderGrid.Columns[e.ColumnIndex] is DataGridViewButtonColumn &&
e.RowIndex >= 0)
{
//TODO - Button Clicked - Execute Code Here
SomeEvent(Num); // can't you call your function here...
}
}
Вы также можете посмотреть Пример DataGridViewButtonColumn