ورود

View Full Version : با زدن انتر من قبلا DynamicForm را كد زير باز مي كردم و اكنون باز نمي شود چرا؟



ali_abbasi22145
یک شنبه 20 اردیبهشت 1388, 16:51 عصر
سلام
با زدن انتر من قبلا DynamicForm را كد زير باز مي كردم و اكنون باز نمي شود چرا؟
البته KeyPreview=True براي فرم اصلي است.


procedure TMainForm.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then DynamicForm.Show;
end;

ArashM128
دوشنبه 29 تیر 1388, 01:01 صبح
اگر میخواهید پروسه ای را که نوشته اید، اتفاق بیفتد، باید مواظب باشید که در Eventهای OnKeyDown , Onkeypress مربوط به فرم اصلی که Keypreview آن را True کرده اید، کدی ننوشته باشید که مانع رسیدن کد Enter به کنترل DBGrid شما شود، مثلا اگر در یکی از Eventهای ذکر شده از فرم اصلی شما مقدار متغییر مرجع Key را برابر 0 یا 0# کرده باشید، دیگر DBGrid1Keypress اتفاق نخواهد افتاد و در نتیجه کد DynamicForm.Show اجرا نخواهد شد.