как изменить расположение элементов на форме при выборе определенного языка из меню
Мне нужно чтобы при выборе немецкого языка форма располагалась в вертикальном формате, но так при выборе у меня вылетает форма
using System;
using System.Drawing;
using System.Globalization;
using System.Windows.Forms;
namespace labwork1
{
public partial class Form1 : Form
{
Clock oclock = new Clock();
public Form1()
{
System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo(Properties.Settings.Default.Language);
System.Threading.Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo(Properties.Settings.Default.Language);
InitializeComponent();
oclock.Timer.Tick += new EventHandler(ourTick);
}
void ourTick(object sender, EventArgs e)
{
textBox1.Text = Properties.Resource.Date + oclock.CityTime("Moscow").ToShortDateString() + Properties.Resource.Time + oclock.CityTime("Moscow").ToLongTimeString();
textBox2.Text = Properties.Resource.Date + oclock.CityTime("Vladivostok").ToShortDateString() + Properties.Resource.Time + oclock.CityTime("Vladivostok").ToLongTimeString();
textBox3.Text = Properties.Resource.Date + oclock.CityTime("London").ToShortDateString() + Properties.Resource.Time + oclock.CityTime("London").ToLongTimeString();
}
private void btnStart(object sender, EventArgs e)
{
oclock.ChangeAct(true);
}
private void btnStop(object sender, EventArgs e)
{
oclock.ChangeAct(false);
}
private void стартToolStripMenuItem_Click(object sender, EventArgs e)
{
btnStart(this, EventArgs.Empty);
}
private void стопToolStripMenuItem_Click(object sender, EventArgs e)
{
btnStop(this, EventArgs.Empty);
}
private void английскийToolStripMenuItem_Click(object sender, EventArgs e)
{
System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("en");
System.Threading.Thread.CurrentThread.CurrentUICulture = new CultureInfo("en");
Properties.Settings.Default.Language = "en";
UpdateLanguage(); // убедитесь, что этот вызов обновляет все нужные элементы
Properties.Settings.Default.Save();
Application.Restart(); // это сбр
}
private void немецкийToolStripMenuItem_Click(object sender, EventArgs e)
{
button1.Location = new Point(100, 350); // Пример новой позиции
button2.Location = new Point(300, 350);
label1.Location = new Point(20, 30);
label2.Location = new Point(20, 70);
label3.Location = new Point(20, 110);
textBox1.Location = new Point(12, 50);
textBox2.Location = new Point(12, 90);
textBox3.Location = new Point(12, 130);
System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("de");
System.Threading.Thread.CurrentThread.CurrentUICulture = new CultureInfo("de");
Properties.Settings.Default.Language = "de";
UpdateLanguage();
Properties.Settings.Default.Save();
Application.Restart();
}
private void UpdateLanguage()
{
button1.Text = Properties.Resource.Start; // текст на английском
button2.Text = Properties.Resource.Stop;
label1.Text = Properties.Resource.Moscow;
label2.Text = Properties.Resource.London;
label3.Text = Properties.Resource.Vladivostok;
textBox1.Text = Properties.Resource.Date + oclock.CityTime("Moscow").ToShortDateString() + Properties.Resource.Time + oclock.CityTime("Moscow").ToLongTimeString();
textBox2.Text = Properties.Resource.Date + oclock.CityTime("Vladivostok").ToShortDateString() + Properties.Resource.Time + oclock.CityTime("Vladivostok").ToLongTimeString();
textBox3.Text = Properties.Resource.Date + oclock.CityTime("London").ToShortDateString() + Properties.Resource.Time + oclock.CityTime("London").ToLongTimeString();
}
private void русскийToolStripMenuItem1_Click(object sender, EventArgs e)
{
// Смена на русский язык
System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("ru");
System.Threading.Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("ru");
Properties.Settings.Default.Language = "ru";
UpdateLanguage();
Properties.Settings.Default.Save();
Application.Restart(); }
}
}