PDA

View Full Version : سوال: اجرای کد با فشردن اینتر



ُِMohammadSina
دوشنبه 09 بهمن 1402, 17:27 عصر
با سلام و عرض ادب
من یک فرم دارم که یکسری اطلاعات از کاربر میگیره و بعد کاربر روی یک دکمه کلیک میکنه و میره فرم بعد؛ حالا من میخوام اگه دکمه اینتر رو زد بره دستوراتی که تو رویداد کلیک اون دکمه نوشتم رو اجرا کنه.(در هر صورت، یعنی روی هر کنترلی که فوکوس بود این کار رو انجام بده)
ممنون میشم پاسخ بدید.:قلب:

پرستو پارسایی
دوشنبه 09 بهمن 1402, 17:47 عصر
برای اینکار میتونید از رویداد KeyDown فرم استفاده کنید. در این رویداد، شما میتونید کدهایی را بنویسید که اگر کلید Enter فشرده شده باشه، دستوراتی که در رویداد کلیک دکمه نوشته اید را اجرا کنه. اینهم مثال

private void Form1_Load(object sender, EventArgs e)
{
this.KeyPreview = true;
}


private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
// کدهایی که در رویداد کلیک دکمه نوشته اید را اجرا کنید
}
}

با استفاده از این روش، شما میتوانید هر دکمه ای که در فرم فشرده میشه رو بررسی کنید و در صورتی که کلید Enter باشه، دستورات مربوط به رویداد کلیک آن دکمه را اجرا میشه.

این درک من از سوال شما هست امیدوارم مفید باشه

ُِMohammadSina
دوشنبه 09 بهمن 1402, 18:02 عصر
بله این رو میدونم ولی کد هایی که در رویداد کلیک اون دکمه نوشتم خیلی زیاده، من میخواستم از دستور goto استفاده کنم ولی متوجه شدم از این دستور فقط میشه در یک رویداد استفاده کرد.
آیا میشه از دستور goto در تمام رویداد های یک فرم استفاده کرد؟

ROSTAM2
دوشنبه 09 بهمن 1402, 20:59 عصر
با سلام و عرض ادب
من یک فرم دارم که یکسری اطلاعات از کاربر میگیره و بعد کاربر روی یک دکمه کلیک میکنه و میره فرم بعد؛ حالا من میخوام اگه دکمه اینتر رو زد بره دستوراتی که تو رویداد کلیک اون دکمه نوشتم رو اجرا کنه.(در هر صورت، یعنی روی هر کنترلی که فوکوس بود این کار رو انجام بده)
ممنون میشم پاسخ بدید.:قلب:

سلام.
بصورت پیش فرض همینطور هست یعنی اگر کاربر شیء ی رو از فرم با کلید های Arrow Keys یا Tab انتخاب کنه می تونه با کلید Space یا Enter رویدادش رو اجرا کنه (این ویژگی محیط ویندوز هست)

و اما می شه با کاراکتر & برای شیء کلید میانبر طبق تعیین کاراکتر تعیین کرد که این هم ویژگی محیط ویندوز هست که بعنوان مثال اگر کلید Alt رو یک بار فشار داده و رها کنید اشیایی که این ویژگی برای اونها تعبیه شده زیر کاراکتر مربوطه یک UnderLine کشیده می شه.

و اما برای تعیین کلید پیش فرض فرم که یکی می تونه باشه در هر پنجره در بین خصوصیات Form خصوصیت AcceptButton را برای کلید مد نظر می تونید فعال کنید تا از این ویژگی برخوردار بشه که با فشار دادن کلید Enter دستوراتش اجرا می شه.

و برای کلید Cancel هم خصوصیت CancelButton از Form رو می تونید بکار بگیرید.

ROSTAM2
دوشنبه 09 بهمن 1402, 21:03 عصر
بله این رو میدونم ولی کد هایی که در رویداد کلیک اون دکمه نوشتم خیلی زیاده، من میخواستم از دستور goto استفاده کنم ولی متوجه شدم از این دستور فقط میشه در یک رویداد استفاده کرد.
آیا میشه از دستور goto در تمام رویداد های یک فرم استفاده کرد؟

دستور GoTo برچسب های کد رو در یک پروسیجر یا دستور پشتیبانی می کنه برای اینکار می تونید توایع جدا گانه ای بنویسید و با دستور شرطی Switch از توابع در پردازه اصلی استفاده کنید.

mmbguide
شنبه 14 بهمن 1402, 20:08 عصر
سلام. لطفا عنوان سوالات را اصلاح کنید.