IMO you just do not need to set the property DialogResulton the button, but set it directly in your form in the event btnOK_Click:
private void btnOK_Click(object sender, EventArgs e)
{
if (yeahLetsClose)
this.DialogResult = DialogResult.OK;
}
BTW, AcceptButton ENTER ( , AcceptButton)