TOOMIX: Co to je za příšernou podivnou konstrukci?? K čemu se tam používá ten list (a proč si myslíš, že se tam někde něco filtruje podle typu controlu)? Proč se v cyklu a rekurzivní funkci furt dokola dělá cbJazyky.SelectedItem.ToString() == "English" a vyrábí se resource manager? Proč ne prostě něco jako (nástřel z první):
private void ChangeLanguage(Control container, ComponentResourceManager resourceManager, CultureInfo culture)
{
foreach (Control c in container.Controls)
{
if (c is Label || c is GroupBox || c is DevExpress.XtraTab.XtraTabPage || c is TextBox || c is System.Windows.Forms.ToolStripMenuItem)
{
resourceManager.ApplyResources(c, c.Name, culture);
}
if (c.Controls.Count > 0) ChangeLanguage(c, resourceManager, culture);
}
}
private void cbJazyky_SelectedIndexChanged(object sender, EventArgs e)
{
var resourceManager = new ComponentResourceManager(typeof(HlavniOknoMobile));
CultureInfo culture;
switch(cbJazyky.SelectedItem.ToString())
{
case "English":
culture = new CultureInfo("en");
break;
case "Czech":
culture = new CultureInfo("cs-CZ");
break;
default:
throw new NotSupportedException();
}
ChangeLanguage(this, resourceManager, culture);
}