我有一个由Keys枚举(winforms)填充的组合框。

问题在于,对于没有经验的用户,键名不是很清楚。例如,普通用户可能不知道“OemPipe”或“HanjaMode”是什么意思。那么,我该如何解决此问题,并使用一些更好的键名呢?

我正在考虑使用键及其名称来制作字典,但是我自己填充字典非常耗时。

最佳答案

制作一个将键名映射到用户可理解的字符串的资源文件。如果资源文件没有特定键的值,则只需使用键名称即可(就像您现在所做的那样),这样,您只需要定义难以理解的键即可,而不必必须先做所有的事。

如果愿意,这还允许您本地化为其他语言。

编辑:添加了代码示例。假设您有一个名为“KeyNames.resx”的资源文件。

foreach (var key in Enum.GetValues(typeof(Keys)))
{
    var keyName = KeyNames.ResourceManager.GetString(key.ToString());
    if (keyName == null)
        keyName = key.ToString();

    comboBox1.Items.Add(keyName);
}

关于c# - C#中的漂亮键名(窗体),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9999604/

10-13 06:56