LPARAMETERS nColIndex WITH this IF mdown() lnBottom = .top+.headerheight+.relativerow * .rowheight lnTop = lnBottom - this.rowheight lnMouseRowPos = mrow(wontop(),3) lnMouseColPos = mcol(wontop(),3) llChangingRow = !(between(lnMouseRowPos,lnTop, lnBottom) ; and between(lnMouseColPos,.left,.left+.width)) * Is click on a different row ELSE llChangingRow = inlist(lastkey(),24,5,18,3) * Was lastkey() in Up,down, pgup,pgdown ENDIF ENDWITH if llChangingRow && About to change row if ICantLetItToGo && Would you let him/her go nodefault && Do not let to change endif endifCode assumes you use default Scalemode (pixels) for form.