using System.Windows.Input;
public override bool ProcessKeyDown(KeyEventArgs e)
{
if (e.Key == 38)
{
}
return true;
}
Der Compiler meckert, dass er Key nicht kennt und dies angeblich in WindowsBase vorhanden sei.
WindowsBase ist aber nicht Teil meiner Assemblies, dafür aber System.Windows.Input, und dies definiert doch enum Key.
https://learn.microsoft.com/de-de/dotnet/api/system.windows.input.key?view=windowsdesktop-7.0
Woran kann das liegen ?
"Key" ist ein Enum
if (e.Key == Key.D4)
{
}
Wer [...] kann, ist klar im Vorteil.
lock
Alternative fürasync
/await
: https://github.com/loop8ack/AsyncTicketLock
Ja, hatte ich ja auch geschrieben, dennoch kennt es der Compiler nicht, siehe Bild.
Ist die Referenz auf die WindowsBase eingetragen?
Im Projekt unter Frameworks - Microsoft.NetCore.App ist WindowsBase vorhanden, ja, und auch SystemWindows.
Die Referenz allein reicht ja nicht.
Du brauchst auch das using im Code dafür.
Bisher ist dein Code ziemlich mager und deshalb nicht erkennbar ob du das drin hast.
Nachtrag:
Das Problem dürfte sein, dass du mit Winforms arbeitest.
Key wird dir in dem Event bei KeyEventArgs auch als Fehler markiert.
Dort musst du gegen KeyCode arbeiten, was dann aber das Keys Enum verwendet.
Link:
https://learn.microsoft.com/de-de/dotnet/api/system.windows.forms.keys?view=windowsdesktop-7.0
T-Virus
Developer, Developer, Developer, Developer....
99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.
Ich arbeite mit einer dll und m.E. ohne Windows Forms.
Wenn ich WindowsBase mit using einbinde, dann meckert er auch und sagt es sei "unnessesary".
Okay, mein Fehler.
KeyEventArgs gibt es auch in WinForms, dann aber mit dem KeyCode.
Ansonsten sieht der Code soweit richtig aus.
Keine Ahnung was es mit WindowsBase zu tun hat, wenn die Doku selbst auf System.Windows.Input.Key verweist.
Entsprechend kannst du das WindowsBase using entfernen.
T-Virus
Developer, Developer, Developer, Developer....
99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.
Schau dir nochmal den Link an, den du gepostet hast:
https://learn.microsoft.com/de-de/dotnet/api/system.windows.input.key?view=windowsdesktop-7.0
Namespace:
System.Windows.Input
Assembly:
WindowsBase.dll
Du machst bei deinem Projekt eine Referenz auf die Assembly und machst bei deiner Klasse ein using auf den Namespace.
@Alftor
Ah ok, übersehen das die Assembly WindowsBase ist.
Seltsam, dass Microsoft hier von der Namenskonvention abgewichen ist.
Dann sollte es eigentlich passen, wenn die Referenz und der richtige Namespace als using drin sind.
T-Virus
Developer, Developer, Developer, Developer....
99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.