Dites-moi, s'il vous plaît, comment puis-je montrer à StatusStrip lorsque la touche CAPS_LOCK est activée. J'ai essayé de suivre les exemples: one et two mais rien ne s'affiche dans mon application. J'ai créé un nouveau projet, ajouté StripStatusLabel et essayé d'apporter des informations. Il est étrange que l'affichage est obtenu que dans la méthode d'initialisation:État de Num Caps ScrollLock dans StatusStrip WindowsForms
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
toolStripStatusLabel1.Text = "111";
}
}
mais dans d'autres méthode, il est ne fonctionne pas.
using System.Diagnostics;
namespace WindowsFormsApplication3
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
//toolStripStatusLabel1.Text = "111";
}
public void Form2_KeyDown(object sender, KeyEventArgs e)
{
Debug.Write("123");
toolStripStatusLabel1.Text = "222";
}
}
}
Windows Forms. NetFramework 4.5 P.S. désolé pour la question stupide :)
MISE À JOUR: enter image description here
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Diagnostics;
namespace WindowsFormsApplication3
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
KeyDown += tst;
}
public void TextBoxTest()
{
textBox1.Text = "onetwo";
}
private void tst(object sender, KeyEventArgs e)
{
if ((e.KeyCode & Keys.KeyCode) == Keys.CapsLock)
{
if (Control.IsKeyLocked(Keys.CapsLock))
toolStripStatusLabel1.Text = "Caps";
}
}
}
}
Mais la sortie ne fonctionne pas. Dites-moi s'il vous plaît ce que je fais mal
L'utilisation de l'événement KeyDown du formulaire n'est pas suffisante, il ne peut être déclenché que si le formulaire ne dispose pas de contrôles pouvant obtenir le focus et obtenir ainsi l'événement KeyDown. [Lisez ceci] (http://stackoverflow.com/a/400325/17034). –
Puisque 'CapsLock' peut être activé ou désactivé lorsque votre application n'a pas de focus, vous pouvez vérifier l'état de' CapsLock' dans l'événement 'Application.Idle' en tant que solution simple et fiable. La gestion des événements de clavier du formulaire ne suffit pas pour détecter les modifications sur l'état de verrouillage des clés et vous devez également placer votre logique dans d'autres endroits comme l'événement d'activation de votre formulaire ou enregistrer un raccourci clavier global. –