Как программно добавить событие нажатия кнопки мыши в сетку? - PullRequest
0 голосов
/ 11 апреля 2020

Я пытаюсь создать сетку, чтобы при наведении мыши на сетку она вызывала событие и передавала ему аргумент. Я пытался

int Num = 5;
grid.RaiseEvent(new RoutedEventArgs(Grid.MouseDownEvent, SomeEvent(Num));

Но не повезло. Любой вклад будет принята с благодарностью.

Ответы [ 2 ]

0 голосов
/ 11 апреля 2020

Я понял, это было действительно просто

int Num = 5;
grid.MouseDown += (sender, EventArgs) => { SomeEvent(Num); };
0 голосов
/ 11 апреля 2020

Не уверен, что именно вы пытаетесь сделать, но это вызовет событие с аргументами.

Примерно так должно работать:

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

...