Używanie ComboBox, UserControl i niektórych formularzy do zmiany języka (dla całego projektu)
Zanim zacznę, zbadałem i nie mogę znaleźć niczego. Uwaga Jestem bardzo nowy w UserControl, więc może to być powód, dla którego okazało się to trudne.
Mam formularz combobox w Form1, który po wybraniu pozwala użytkownikowi na zmianę między 21 językami. Stworzyłem UserControl, który zawiera etykiety, przyciski i pola wyboru - dodaje do formularza o nazwie Drukuj.
Jeśli użytkownik wybrał francuski, w jaki sposób zaimplementowałbym UserControl, aby zmienić język WSZYSTKICH formularzy w moim projekcie?UserControl:Użyłem tutaj metody get i set. Kiedy język zostanie zmieniony w Form1, chcę, aby ten przycisk (wszystkie elementy naprawdę) się zmienił.
using System.Windows.Forms;
namespace Print
{
public partial class UserControl1 : UserControl
{
public UserControl1()
{
InitializeComponent();
}
public string LabelPreview
{
get
{
return Button_Preview.Text;
}
set
{
Button_Preview.Text = value;
}
}
}
}
Formularz 1:Jeśli wartość ciągu w języku angielskim jest zaznaczona w polu combobox, wywołaj metodę - tutaj chciałbym zmienić język dla innych form.
private void ComboBoxLang_SelectedIndexChanged(object sender, EventArgs e)
{
string selectedItem = this.comboBoxLang.GetItemText(this.comboBoxLang.SelectedItem);
if (selectedItem == Language.English)
{
ToEnglish();
}
}
private void ToEnglish()
{
// Cannot actually implement the UserControl, It can't find the method above.
// When I've tried to implement UserControl in Print, it can't seem to find it either.
// I've tried:
// Print.UserControl1.(_LabelPreview doesn't show_);
// ^ It might be the completely wrong thing to do so excuse me.
}
Jestem tak zdezorientowany ... Czy programuję w Print (gdzie dodany jest UserControl) lub / i Form1 ?! Nie chcę, aby projekt pojawiał się w Form1, ale po prostu chcę, aby inne formularze wiedziały, jaki język został wybrany.
Uwaga: używam Unicode podczas tłumaczenia *