0

[dgv_clients_UserDeletingRow]を使用してイベントを呼び出す問題に直面してい[ContextMenuStrip]ます。

それは私にそのエラーを与えています:

Unable to cast object of type 'System.EventArgs' to type 'System.Windows.Forms.DataGridViewRowCanelEventArgs'

そして、ここに私のコードがあります:

  Private Sub dgv_clients_UserDeletingRow(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewRowCancelEventArgs) Handles dgv_clients.UserDeletingRow
    deleteLine(e)
End Sub

  Private Sub toolStripItem1_Click(ByVal sender As Object, ByVal args As EventArgs) Handles toolStripItem1.Click

    If mouseLocation.RowIndex > 0 Then
        dgv_clients.Rows(mouseLocation.RowIndex).Selected = True
        dgv_clients.Rows(mouseLocation.RowIndex).DefaultCellStyle.SelectionBackColor = Color.Gray
        DeleteToolStripMenuItem_Click(sender, args)
    End If

End Sub
Public Sub DeleteToolStripMenuItem_Click(ByVal Sender As Object, ByVal e As EventArgs)
    Call deleteLine(e)
End Sub

ありがとうございました

4

1 に答える 1

1

問題はあなたのdeleteLine方法です。

あなたは2つの異なるタイプでそれを呼んでいます。Sub dgv_clients_UserDeletingRowyou pass e as DataGridViewRowCancelEventArgs とyou Sub DeleteToolStripMenuItem_Clickpassでe as EventArgs。これら 2 つの型のメソッドをオーバーロードしていない場合deleteLine、コンパイラは間違った型を自動解析しようとし、失敗します。

于 2013-04-23T13:49:36.570 に答える