用两种语言开发Windows Forms应用程序时的奇怪快捷键行为

我最近遇到一个相当奇怪的问题:我在Visual Studio 2017中开发了Windows Forms应用程序(C#)。最初的实现是在英语版本(系统和Visual Studio)上完成的。该应用程序具有多种形式,可以通过快捷键组合(例如ctrl + alt + P)打开。

现在,最近我不得不继续在安装了原始Visual Studio的德语系统上进行开发。我很惊讶,上面提到的快捷方式导致了建筑故障。仅在将快捷方式更改为“ Strg + ALt + P”后,它才有效-但仅在此系统上;在ENG系统上,构建失败,因为无法识别“ Strg”。

为什么在Visual Studio中,Visual Studio会根据系统/版本语言来考虑键?诸如键之类的东西不能取决于语言,不是吗?这意味着不可能开发一种可以用多种语言构建的应用程序-并且使用这种多语言团队将不再可行... 我想念什么?我已经尝试过翻译ENG和GER resx文件中的快捷方式,但这都不能解决问题。 任何帮助将不胜感激-我被困在这里。

jxcrma8888 回答:用两种语言开发Windows Forms应用程序时的奇怪快捷键行为

这是Visual Studio的“功能”。已知的解决方法:在代码中而不是在编辑器中设置所有快捷方式。

MSBuild cannot process resource files
Problems with shortcuts (e.g. Ctrl + P) in resx files when using VS2017 an a German Windows
Is there a way to fix Visual Studio ResX-Keyboard shortcut problem?

如果使用版本控制系统,其他可能的解决方法虽然复杂但可行,它是使用一些脚本来维护存储库中的Ctrl,但在需要时将其转换为客户端的Strg

这里要注意的一件事,如果不使用本地化,则不会发生这种情况。在这种情况下,所有数据都存储在源代码中。但是,如果将表单的Localizable属性设置为true,则属性将存储到.resx文件中。 Microsoft很早就知道此问题,因此不会解决。他们建议的解决方法:仅使用英文Windows。

本文链接:https://www.f2er.com/3159706.html

大家都在问