Как изменить свойство Text у элементов управления другой формы?
При переключении радио кнопки должно меняться свойство Text у элементов управления формы f1. Что не так?
Код:
public partial class FormSettings : Form
{
public FormSettings()
{
if (radioButtonRussian.Checked)
{
Program.f1.buttonOpen.Text = "Открыть";
Program.f1.buttonCountUp.Text = "Подсчитать";
Program.f1.buttonSave.Text = "Сохранить";
Program.f1.labelInfo.Text = "Введите текст или выберите файл с текстом";
Program.f1.buttonClear.Text = "Очистить";
Program.f1.labelWarning.Text = "ВНИМАНИЕ! Приложение работает только с текстом на русском языке!";
Program.f1.buttonClear.Text = "Выход";
Program.f1.buttonHelp.Text = "Справка";
Program.f1.buttonSettings.Text = "Настройки";
Program.f1.Text = "Подсчет символов";
}
else if (radioButtonEnglish.Checked)
{
Program.f1.buttonOpen.Text = "Open";
Program.f1.buttonCountUp.Text = "Count up";
Program.f1.buttonSave.Text = "Save";
Program.f1.labelInfo.Text = "Enter text or select a file with text";
Program.f1.buttonClear.Text = "Clear";
Program.f1.labelWarning.Text = "ATTENTION! The app only works with text in Russian!";
Program.f1.buttonClear.Text = "Exit";
Program.f1.buttonHelp.Text = "Help";
Program.f1.buttonSettings.Text = "Settings";
Program.f1.Text = "Count the characters";
}
}
}
Скриншот форм:
Ответы (2 шт):
Автор решения: Макс Пушной
→ Ссылка
Нужно обращаться к радио кнопкам не через FormSettings(), а через событие при клике мышью
private void radioButtonEnglish_CheckedChanged(object sender, EventArgs e)
Автор решения: GromWolf
→ Ссылка
Это "Form1"
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
FormSettings f2 = new FormSettings();
f2.Show();
f2.Updated += (obj, ev) => ChangeLanguage(f2.language);
}
private void ChangeLanguage(string language)
{
if(language == "Rus")
{
button1.Text = "Russian Button";
}
else if (language == "Eng")
{
button1.Text = "English Button";
}
}
Это "Form2"
public partial class FormSettings : Form
{
public FormSettings()
{
InitializeComponent();
}
public event EventHandler Updated;
public string language;
private void radioButton1_CheckedChanged(object sender, EventArgs e)
{
if (Updated != null)
{
Updated(sender, new EventArgs());
language = "Rus";
}
}
private void radioButton2_CheckedChanged(object sender, EventArgs e)
{
if (Updated != null)
{
Updated(sender, new EventArgs());
language = "Eng";
}
}
}
