那么,必须自己管理;我发现这个有趣的一段代码:
Instantly Changing Language in the Form
所有你需要做的是消除/在ReloadControlCommonProperties评论数行(约L.120),以防止其重置控件的特定属性 - 对我来说,它看起来像:
protected virtual void ReloadControlCommonProperties(System.Windows.Forms.Control control, System.Resources.ResourceManager resources)
{
SetProperty(control, "AccessibleDescription", resources);
SetProperty(control, "AccessibleName", resources);
SetProperty(control, "BackgroundImage", resources);
SetProperty(control, "Font", resources);
SetProperty(control, "ImeMode", resources);
SetProperty(control, "RightToLeft", resources);
//SetProperty(control, "Size", resources);
// following properties are not changed for the form
if (!(control is System.Windows.Forms.Form))
{
SetProperty(control, "Anchor", resources);
SetProperty(control, "Dock", resources);
//SetProperty(control, "Enabled", resources);
//SetProperty(control, "Location", resources);
SetProperty(control, "TabIndex", resources);
//SetProperty(control, "Visible", resources);
}
if (control is System.Windows.Forms.ScrollableControl)
{
ReloadScrollableControlProperties((System.Windows.Forms.ScrollableControl)control, resources);
if (control is System.Windows.Forms.Form)
{
ReloadFormProperties((System.Windows.Forms.Form)control, resources);
}
}
}