Quantcast
Channel: Visual COBOL - Forum - Recent Threads
Viewing all articles
Browse latest Browse all 4356

MouseClick Event On a Datagrid

$
0
0

Hi,

I need to be able to "trap" a mouse click event on a DataGrid and I have found the following VB code:-

Private Sub DGV_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles dgvMyDatagrid.MouseClick

If sender.HitTest(e.X, e.Y).Type = DataGridViewHitTestType.RowHeader Then
    sender.EditMode = DataGridViewEditMode.EditOnKeystrokeOrF2
    sender.EndEdit()
Else
    sender.EditMode = DataGridViewEditMode.EditOnEnter
End If

End Sub

Or if you prefer the following C# Code:-

private void dataGridView1_MouseClick( object sender, MouseEventArgs e ) {
DataGridView.HitTestInfo hitInfo = this.dataGridView1.HitTest(e.X, e.Y);
if( hitInfo.Type == DataGridViewHitTestType.RowHeader ) {
    this.dataGridView1.EditMode = DataGridViewEditMode.EditOnKeystrokeOrF2;
    this.dataGridView1.EndEdit();
}
else
{
  this.dataGridView1.EditMode = DataGridViewEditMode.EditOnEnter;
}
}

Which I have converted to the following Cobol Code:-

method-id. "dgvMain_MouseClick" final private.
01 ls-cHitTestInfo type "System.Windows.Forms.DataGridView+HitTestInfo".
01 ls-x binary-long.
01 ls-y binary-long.
procedure division using by value sender as object e as type "System.Windows.Forms.MouseEventArgs".
    invoke dgvMain::"HitTest"(ls-x, ls-y) returning ls-cHitTestInfo

    if ls-cHitTestInfo::"Type" = type "System.Windows.Forms.DataGridViewHitTestType"::"RowHeader"
        set ls-x to ls-x
    else
        set ls-y to ls-y
    end-if
end method "dgvMain_MouseClick".

However its not working.

It builds and runs ok but it always goes down the "set ls-y to ls-y" path can anyone advise what I'm doing wrong?

Many thanks

Neil.


Viewing all articles
Browse latest Browse all 4356

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>