نمایش نتایج 1 تا 6 از 6

نام تاپیک: اجرای کد با فشردن اینتر

  1. #1
    کاربر تازه وارد
    تاریخ عضویت
    دی 1402
    محل زندگی
    کهکشان راه شیری
    پست
    30

    Question اجرای کد با فشردن اینتر

    با سلام و عرض ادب
    من یک فرم دارم که یکسری اطلاعات از کاربر میگیره و بعد کاربر روی یک دکمه کلیک میکنه و میره فرم بعد؛ حالا من میخوام اگه دکمه اینتر رو زد بره دستوراتی که تو رویداد کلیک اون دکمه نوشتم رو اجرا کنه.(در هر صورت، یعنی روی هر کنترلی که فوکوس بود این کار رو انجام بده)
    ممنون میشم پاسخ بدید.

  2. #2
    کاربر دائمی آواتار پرستو پارسایی
    تاریخ عضویت
    آبان 1392
    محل زندگی
    تهران
    پست
    458

    نقل قول: لطفا یه نگاه کنید

    برای اینکار میتونید از رویداد 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 باشه، دستورات مربوط به رویداد کلیک آن دکمه را اجرا میشه.

    این درک من از سوال شما هست امیدوارم مفید باشه
    آخرین ویرایش به وسیله پرستو پارسایی : دوشنبه 09 بهمن 1402 در 17:59 عصر

  3. #3
    کاربر تازه وارد
    تاریخ عضویت
    دی 1402
    محل زندگی
    کهکشان راه شیری
    پست
    30

    نقل قول: لطفا یه نگاه کنید

    بله این رو میدونم ولی کد هایی که در رویداد کلیک اون دکمه نوشتم خیلی زیاده، من میخواستم از دستور goto استفاده کنم ولی متوجه شدم از این دستور فقط میشه در یک رویداد استفاده کرد.
    آیا میشه از دستور goto در تمام رویداد های یک فرم استفاده کرد؟

  4. #4
    کاربر دائمی آواتار ROSTAM2
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    فارس
    پست
    1,646

    نقل قول: لطفا یه نگاه کنید

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

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

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

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

  5. #5
    کاربر دائمی آواتار ROSTAM2
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    فارس
    پست
    1,646

    نقل قول: لطفا یه نگاه کنید

    نقل قول نوشته شده توسط ُِMohammadSina مشاهده تاپیک
    بله این رو میدونم ولی کد هایی که در رویداد کلیک اون دکمه نوشتم خیلی زیاده، من میخواستم از دستور goto استفاده کنم ولی متوجه شدم از این دستور فقط میشه در یک رویداد استفاده کرد.
    آیا میشه از دستور goto در تمام رویداد های یک فرم استفاده کرد؟
    دستور GoTo برچسب های کد رو در یک پروسیجر یا دستور پشتیبانی می کنه برای اینکار می تونید توایع جدا گانه ای بنویسید و با دستور شرطی Switch از توابع در پردازه اصلی استفاده کنید.

  6. #6
    کاربر دائمی آواتار mmbguide
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    منظومه شمسی
    پست
    1,176

    نقل قول: لطفا یه نگاه کنید

    سلام. لطفا عنوان سوالات را اصلاح کنید.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •