0

構成ファイルのエントリに基づいてアプリケーションを起動するときに、C# フォーム アプリケーションを作成する際に助けが必要です。キーボードの CAPSLOCK を ON/OFF にする必要があります。

4

2 に答える 2

5

CapsLock キーをいじらないでください。これまでにない - それは非常に悪い UX です。

代わりに、それぞれのテキスト ボックスで KeyPress イベントを処理し、設定に応じて文字を大文字または小文字に変換する必要があります。このような:

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

        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            e.KeyChar = char.ToUpper(e.KeyChar);
        }
    }
}
于 2013-02-16T01:48:28.793 に答える
1

さまざまなソースからのさらなる分析と徹底的な調査に基づいて以下は、以前に投稿した問題を解決するためにコーディングしたコードスニペットです

    /// <summary>
    /// Enabling or Disabling CAPSLOCK button.
    /// Based on value retirevied from settings and also present CAPSLOCK button status.
    /// </summary>
    public void CharacterCasing()
    {
        if (settings.IsCapsLockOn ^ Console.CapsLock)
        {
            const int KEYEVENTF_EXTENDEDKEY = 0x1;
            const int KEYEVENTF_KEYUP = 0x2;
            keybd_event(0x14, 0x45, KEYEVENTF_EXTENDEDKEY, (UIntPtr)0);
            keybd_event(0x14, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, (UIntPtr)0);
        }

    }

ご意見・ご感想をいただければ幸いです。

于 2013-02-16T09:39:14.780 に答える