دسته بندی ها
22:33 1399/05/30

ساخت کلید میانبر در سی شارپ با رویداد Keypress و Keydown

مشخصات سوال کننده :
کاربر : hamid_b     امتیاز کاربر : 518     رتبه کاربر : 4
دسته بندی : سی شارپ WPF

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 6364
هوش مصنوعی

پاسخ هوش مصنوعی

برای ساخت کلید میانبر در C# می توانید از رویدادهای KeyDown و KeyPress استفاده کنید. در زیر یک مثال ساده از نحوه استفاده از این رویدادها آورده شده است:


// درون فرم شما

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
    // بررسی فشردن کلید ترکیبی Ctrl + S
    if (e.Control && e.KeyCode == Keys.S)
    {
        MessageBox.Show("کلید میانبر Ctrl + S فشار داده شد!");
        e.SuppressKeyPress = true; // جلوگیری از عملیات پیش فرض
    }
}

private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
    // اینجا می توانید با KeyPress کار خاصی انجام دهید
    // مثلاً فقط نخواهید که کاربر کاراکتر خاصی وارد کند
}

// اطمینان حاصل کنید که KeyPreview فرم شما فعال است
this.KeyPreview = true;

در این مثال، وقتی کاربر کلیدهای Ctrl + S را فشار می دهد، یک پیغام نمایش داده می شود. همچنین می توانید روش KeyPress را برای بررسی ورودی های خاص شخصی سازی کنید.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
هوش مصنوعی

پاسخ هوش مصنوعی

برای استفاده از رویدادهای KeyPress و KeyDown در سی شارپ و ساخت کلیدهای میانبر، می توانید از کد زیر استفاده کنید. این مثال به شما نشان می دهد که چگونه می توانید با فشار دادن ترکیب کلیدها عملی را انجام دهید.

در این مثال، ما یک فرم ایجاد می کنیم که با فشردن Ctrl + A، پیامی را نمایش می دهد.

using System;
using System.Windows.Forms;

namespace ShortcutExample
{
    public partial class MainForm : Form
    {
        public MainForm()
        {
            InitializeComponent();
            this.KeyDown += new KeyEventHandler(MainForm_KeyDown);
        }

        private void MainForm_KeyDown(object sender, KeyEventArgs e)
        {
            // بررسی اینکه آیا کلید Ctrl فشرده شده است و کلید A نیز فشرده شده است
            if (e.Control && e.KeyCode == Keys.A)
            {
                MessageBox.Show("ترکیب کلید Ctrl + A فشرده شد!");
                e.SuppressKeyPress = true; // جلوگیری از پیش فرض سیستم
            }
        }
    }
}

شما همچنین می توانید از رویداد KeyPress برای پیگیری ورودی های کلید استفاده کنید، اما معمولاً برای ترکیب کلیدها از KeyDown بهتر است استفاده کنید.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
هوش مصنوعی

پاسخ هوش مصنوعی

برای ساخت کلید میانبر در C# با استفاده از رویدادهای KeyPress و KeyDown، می توانیم از یک فرم ساده استفاده کنیم. در این مثال، با فشردن کلید ترکیبی Ctrl + S، پیامی نمایش داده می شود.


using System;
using System.Windows.Forms;

namespace ShortcutExample
{
    public partial class MainForm : Form
    {
        public MainForm()
        {
            InitializeComponent();
            this.KeyDown += new KeyEventHandler(MainForm_KeyDown);
        }

        private void MainForm_KeyDown(object sender, KeyEventArgs e)
        {
            // بررسی اینکه کلید Ctrl و S همزمان فشرده شده اند
            if (e.Control && e.KeyCode == Keys.S)
            {
                MessageBox.Show("کلید میانبر Ctrl + S فشرده شد!");
                e.SuppressKeyPress = true; // جلوگیری از فشرده شدن کلید
            }
        }
    }
}

در این کد:

  • یک فرم ساده تعریف شده است.
  • رویداد KeyDown به فرم اضافه شده است.
  • در این رویداد، بررسی می شود که آیا همزمان کلید Ctrl و S فشرده شده اند.
  • اگر این کلیدها فشرده شده باشند، یک پیام نمایش داده می شود.

شما می توانید این کد را به پروژه ی خود اضافه کنید و آن را تست کنید. همچنین می توانید کلیدهای ترکیبی دیگری را با تغییر شرط ها در کد تنظیم نمایید.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : Sowgandi 12:18 1399/05/31

سلام. برای این کار باید کدهاتون رو در رویداد PreviewKeyDown فرم قرار بدید.

     private void Window_PreviewKeyDown(object sender, KeyEventArgs e)
        {
            if (e.Key == Key.Enter)
            {
                MessageBox.Show("'Enter' is Pressed.");
            }
        }

 

به این پاسخ امتیاز بدهید    1
امتیاز: 876 رتبه: 3
پاسخ دهنده : david1363 16:09 1400/04/27

سلام من میخوام در فرم اصلی وقتی دکمه های میانبر رو میزنم فرم مد نظرم باز بشه مثلا کلید عدد 25 و میزنم فرم 1 باز بشه وقتی کلید 2a میزنم فرم 2 کلید 6c میزنم فرم 3 به همین ترتیب میخوام کلید برای فرم های مدنظرم تعریف کنم با یک حرف میتونم باز کنم ولی با دو حرف نشد در ضمن از کلیدهای Ctrl , Alt ,Shift نمیخوام استفاده گنم فقط از اعداد رقمی 10 تا 99 و ترکیبشون با حروف مثل 2a , 3b 4a 8k 9m و غیره ……

به این پاسخ امتیاز بدهید    0
امتیاز: 0 رتبه: 7073
1 نظر
saedbfd : لطفا سوالتون رو در یک پست جدید ثبت کنید.

امتیاز کاربر : 1664   رتبه کاربر : 1   تاریخ ثبت : 05:07 1400/04/27
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود