GcKeyLock コンポーネントは、次の3つのキーを制御するために使用します。このコンポーネントでは、これらのキーの状態(オン/オフ)を切り替えることができます。また、コントロール毎にこれらのキーを設定することも可能です。
キーの状態を取得、変更するには、
CapsLock、
NumLock、
ScrollLock プロパティを使用します。キーボードや、コード上からこれらのキーの状態が変更された場合は、
LockKeyChangedイベントが発生します。
以下に、CapsLock、NumLock、ScrollLock の3つのキーの状態を StatusStrip に表示する例を示します。このサンプルコードは、フォームに StatusStrip コントロールと GcKeyLock コンポーネントが貼り付けられていることを前提にしています。
Imports GrapeCity.Win.Components
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
StatusStrip1.Items.Add("")
StatusStrip1.Items.Add("")
StatusStrip1.Items.Add("")
End Sub
Private Sub GcKeyLock1_LockKeyChanged(ByVal sender As System.Object, ByVal e As LockKeyChangedEventArgs) Handles GcKeyLock1.LockKeyChanged
Select Case e.LockKey
Case Keys.CapsLock
If e.LockKeyStatus = LockKeyStatus.On Then
StatusStrip1.Items(0).Text = "Caps"
Else
StatusStrip1.Items(0).Text = ""
End If
Case Keys.NumLock
If e.LockKeyStatus = LockKeyStatus.On Then
StatusStrip1.Items(1).Text = "Num"
Else
StatusStrip1.Items(1).Text = ""
End If
Case Keys.Scroll
If e.LockKeyStatus = LockKeyStatus.On Then
StatusStrip1.Items(2).Text = "Scroll"
Else
StatusStrip1.Items(2).Text = ""
End If
End Select
End Sub
using GrapeCity.Win.Components;
private void Form1_Load(object sender, EventArgs e)
{
statusStrip1.Items.Add("");
statusStrip1.Items.Add("");
statusStrip1.Items.Add("");
gcKeyLock1.LockKeyChanged += GcKeyLock1_LockKeyChanged;
}
private void GcKeyLock1_LockKeyChanged(object sender, LockKeyChangedEventArgs e)
{
switch (e.LockKey)
{
case Keys.CapsLock:
if (e.LockKeyStatus == LockKeyStatus.On) statusStrip1.Items[0].Text = "Caps";
else statusStrip1.Items[0].Text = "";
break;
case Keys.NumLock:
if (e.LockKeyStatus == LockKeyStatus.On) statusStrip1.Items[1].Text = "Num";
else statusStrip1.Items[1].Text = "";
break;
case Keys.Scroll:
if (e.LockKeyStatus == LockKeyStatus.On) statusStrip1.Items[2].Text = "Scroll";
else statusStrip1.Items[2].Text = "";
break;
}
}
コントロール毎にキーの状態を切り替えることができます。状態の変更は指定したコントロールにフォーカスが移動されたときに行われます。コントロールにこの設定を行うには、次のメソッドを使用します。
以下に、テキストコントロール(TextBox)にフォーカスが移動されたときにCapsLockキー、NumLockキーとScrollLockキーすべてを有効にする例を示します。
Imports GrapeCity.Win.Components
GcKeyLock1.SetCapsLock(TextBox1, LockKeyMode.On)
GcKeyLock1.SetNumLock(TextBox1, LockKeyMode.On)
GcKeyLock1.SetScrollLock(TextBox1, LockKeyMode.On)
using GrapeCity.Win.Components;
gcKeyLock1.SetCapsLock(textBox1, LockKeyMode.On);
gcKeyLock1.SetNumLock(textBox1, LockKeyMode.On);
gcKeyLock1.SetScrollLock(textBox1, LockKeyMode.On);