0
私はカスタムテキストボックスを作成しました。これは、RFIDリーダー(HID IDで定義されています)からの入力を受け入れることができません。私はHID IDを持っている、私は2つのイベントがある、私は設定するプロパティがありますが、それは動作していません。イベントハンドラ内の共有変数C#
public partial class STextBox : TextBox
{
private RawInput _kblistener;
private bool _handle = false;
public STextBox()
{
_allowRfid = false;
_kblistener = new RawInput(Handle, true);
_kblistener.KeyPressed += _kblistener_KeyPressed;
}
private void _kblistener_KeyPressed(object sender, RawInputEventArg e)
{
if (e.KeyPressEvent.DeviceName == Config.RFIDreader) Handling = true;
else Handling = false;
}
private bool Handling
{
get { return _handle; }
set { _handle = value; }
}
protected override void OnKeyPress(KeyPressEventArgs e)
{
e.Handled = Handling;
base.OnKeyPress(e);
}
}
問題は次のとおりです:最初の発射イベントは_kblistener_KeyPressed、および必要であれば、それは本当の取り扱い設定しますが、コードはONKEYPRESSになったとき、処理は常にfalseです。ここで
はコードがあります。私はRawInput_dllを使ってHID IDを取得しています。
あなたは他に何もそのイベントハンドラを活性化されていないことを確認するには、 '他の取り扱い= false'のにブレークポイントを設定しましたか? –
@EricJ。あなたの答えをありがとう。はい、私はすでにそれをテストしました。何も起こりません:( – RAPTOR
をその後、おそらくあなたはクラスの同じインスタンスを使用していない。あなたはSTextBox _newつ以上を(持っているかどうかを確認してください)_周りにあなたのコードで。 – Steve