تبدیل عملکرد یک دکمه از کیبورد به دکمه ای دیگر (ReMap کردن)

فرض کنید می خواهید کاری کنید که کاربر با زدن دکمه A یا a حرف B یا b تایپ شود. برا این کار ابتدا یک برنامه ویندوزی را ایجاد کرده و یک کنترل TextBox را بر روی فرم قرار دهید، خاصیت KeyPreview فرم را به true تغییر دهید و کدهای زیر را در رویداد KeyDown کنترل TextBox بنویسید :

using System;
using System.Windows.Forms;

namespace RemapKeyboard
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

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

        private void textBox1_KeyDown(object sender, KeyEventArgs e)
        {
            switch (e.KeyCode)                
            {                                 
                case Keys.A:                  
                    e.SuppressKeyPress = true;
                    SendKeys.Send("b");       
                    break;                    
            }                                 
        }
    }
}

برنامه را اجرا و با زدن دکمه a نتیجه را مشاهده نمایید.