我正在关注此链接http://www.dotnetcurry.com/ShowArticle.aspx?ID=174以本地化 Windows 窗体并在运行时更改语言。一切都适用于标签/按钮:文本框,但Datagridview
它不起作用。当我检查资源文件时,法语版本和默认版本文本在那里,但是当我执行它时,最后一个版本正在加载..当我从列表框中选择时,它没有显示默认的英语版本。
如何使用上面链接中给出的机制在运行时更改 datagridview 标题文本???
我正在关注此链接http://www.dotnetcurry.com/ShowArticle.aspx?ID=174以本地化 Windows 窗体并在运行时更改语言。一切都适用于标签/按钮:文本框,但Datagridview
它不起作用。当我检查资源文件时,法语版本和默认版本文本在那里,但是当我执行它时,最后一个版本正在加载..当我从列表框中选择时,它没有显示默认的英语版本。
如何使用上面链接中给出的机制在运行时更改 datagridview 标题文本???
该代码只能找到添加到表单的 Controls 集合中的控件。但是 DataGridView 列不会像那样添加,它会添加到 DataGridView 控件中。您需要改进发布的代码,以便它还可以迭代它找到的任何 DGV 的列。像这样:
private void ChangeLanguage(string lang) {
var ci = new CultureInfo(lang);
System.Threading.Thread.CurrentThread.CurrentUICulture = ci;
foreach (Control c in this.Controls) {
ComponentResourceManager resources = new ComponentResourceManager(this.GetType());
resources.ApplyResources(c, c.Name, ci);
if (c.GetType() == typeof(DataGridView)) {
var dgv = (DataGridView)c;
foreach (DataGridViewColumn col in dgv.Columns) {
resources.ApplyResources(col, col.Name);
}
}
}
}