I have a View Model in which my data is stored to be used on the presenter and window. However, I now need to get (when pressing a button) the current row's results on the grid into my view model. I first used the mouse double click event, but the requirements changed from that to a button on the form:

```
private void dgvResults_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
    {
       if (this.colOrderNo.Index != e.ColumnIndex || e.RowIndex < 0) return;

       var auditOrder = (PurchaseOrdersTrackingViewModel) this.dgvResults.Rows[e.RowIndex].DataBoundItem;
       this.AuditOrderKey = $"{auditOrder.OrderNo}|{auditOrder.ItemNo}|{auditOrder.WarehouseId}|{auditOrder.ItemSequence}";
    }

```

That's my old code. Now I need that here:

`private void btnAuditLog_Click(object sender, EventArgs e)`

Not sure how to refer to the `RowIndex` without the `DataGridViewCellMouseEventArges` event. I tried the `CurrentRow` property, but it doesn't do the job.

Just another question on the fly, if someone could assist with that as well, how do I get a value from one form to another, spesifically a properties value. It's not on the grid, in a control. It's basically just `public string order` that's all. I set the value on one form, then need it for query filtering on another. Let me know if you need anything else.