c# - 冻结本地化已修复,但焦点需要从表格中移除并返回
问题描述
我正在尝试本地化我的应用程序。我最初是用英文写的,有(标准)或(默认)本地化(我的 Visual Studio 是德文的,所以我不确定它用英文叫什么)。
Visual Studio 的默认本地化似乎是en-US
,我曾经用de
德语写过整个东西。
我有两个用于更改语言的按钮,都带有单击事件。事件处理程序如下所示:
private void EnglishButton_Click(object sender, EventArgs e)
{
if(Thread.CurrentThread.CurrentUICulture != CultureInfo.GetCultureInfo("en-US"))
{
Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("en-US");
this.Controls.Clear();
InitializeComponent();
Application.OpenForms[0].Activate();
this.Activate();
}
}
因为de
我做了同样的事情,只是用de
而不是en-US
.
这工作正常,冻结是固定的。但是,我不喜欢一件事:正如您在上面看到的,我需要从窗口中移除焦点并将焦点返回给它,否则在切换语言后我无法与窗口交互。
就我个人而言,这很好,但我担心这可能会给有视力的人带来恼人的闪烁。你怎么看?像现在这样好吗?或者,还有更好的方法?
解决方案
推荐阅读
- postgresql - AWS RDS PostgreSQL 中不存在 pg_catalog
- java - 云你帮我描述一下递归程序的思维如何?(一步步)
- apache-nifi - 如何从 Nifi 中的 json 中提取多个字段?
- python - ConfigParser pyodc 生成错误'无效 - 用户名 (12) (SQLDriverConnect)
- r - 在 Expss 中使用文本时,如何通过自定义表格显示显着差异?
- api - 如何在 Plupload API 中为文件名特殊字符验证添加过滤器?
- html - 为什么我的容器在 Chrome 以外的其他浏览器中比它的子容器宽?
- javascript - es6可以导入commonjs模块吗?
- azure - 能否将 Azure 逻辑应用变量输出到文件并存储在 Blob 存储中?
- vue.js - mdb 数据表在 Vue.js 中不呈现数据