获取键盘 C# 上的键数
Get the Number of Keys on Keyboard C#
我试图列出 WPF 列表框中的所有键:
foreach (Key key in Enum.GetValues(typeof(Key)))
{
lb.Items.Add(key.ToString());
}
但这不是 return 键 (A,...,Escape,Enter)。它 return 编辑了 None,取消,返回,...
您可以获得 enum
个名称而不是值
foreach (string key in Enum.GetNames(typeof(Key)))
{
lb.Items.Add(key);
}
或者您可以显示组合的名称和值。类似于 Visual Studio 显示的元数据。
System.Collections.IEnumerator keys = Enum.GetValues(typeof(Key)).GetEnumerator();
foreach (string key in Enum.GetNames(typeof(Key)))
{
keys.MoveNext();
lb.Items.Add(key + " = " + (int)keys.Current);
}
这里是使用纯 XAML
的解决方案
...
<Window.Resources>
<ObjectDataProvider x:Key="KeysValues" MethodName="GetValues" ObjectType="{x:Type system:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="Key"/>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
</Window.Resources>
<Grid>
<ListBox ItemsSource="{Binding Source={StaticResource KeysValues}}"/>
</Grid>
...
我试图列出 WPF 列表框中的所有键:
foreach (Key key in Enum.GetValues(typeof(Key)))
{
lb.Items.Add(key.ToString());
}
但这不是 return 键 (A,...,Escape,Enter)。它 return 编辑了 None,取消,返回,...
您可以获得 enum
个名称而不是值
foreach (string key in Enum.GetNames(typeof(Key)))
{
lb.Items.Add(key);
}
或者您可以显示组合的名称和值。类似于 Visual Studio 显示的元数据。
System.Collections.IEnumerator keys = Enum.GetValues(typeof(Key)).GetEnumerator();
foreach (string key in Enum.GetNames(typeof(Key)))
{
keys.MoveNext();
lb.Items.Add(key + " = " + (int)keys.Current);
}
这里是使用纯 XAML
的解决方案...
<Window.Resources>
<ObjectDataProvider x:Key="KeysValues" MethodName="GetValues" ObjectType="{x:Type system:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="Key"/>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
</Window.Resources>
<Grid>
<ListBox ItemsSource="{Binding Source={StaticResource KeysValues}}"/>
</Grid>
...