Berkay sen daha yeni yeni öğreniyorsun galiba C# dilini. Herhangi bir eğitim veya aldığın kurs var mı? Eğer yoksa kurs almanı öneririm. Son zamanlarda bir çok konu açtın. Konu aç demiyorum ama senin sorduğun sorular daha önce soruldu. İnternetten bakıverip yapmak çok daha hızlı ve çok daha iyi olacaktır. Ve bir iş yaparken diğer insanlar nasıl yapmış diye bak. Ben çok yapıyorum bunu. Bakış açısı kazandırır. Farklı çözümler görürsün.
Soruya gelecek olursak. Dili nasıl değiştirdiğini bilmiyoruz ki? Diğer konunda benim sana verdigim cevap gibi yapacaksan. Form2 constructor'ına ILanguage sınıfından bir nesne gönderirsin. Sonra tüm textleri buna göre düzenlersin.
[CODE lang="csharp" title="Form1"]ILanguage language;
private void button1_Click(object sender, EventArgs e)
{
language = new Language_TR();
Form2 form2 = new Form2(language);
form2.Show();
}
private void button2_Click(object sender, EventArgs e)
{
language = new Language_EN();
Form2 form2 = new Form2(language);
form2.Show();
}[/CODE]
[CODE lang="csharp" title="Form2 constuctor"]public Form2(ILanguage language)
{
InitializeComponent();
label1.Text = language.LanguageData["lang"];
}[/CODE]
Diger Türlü form1 de static degişken oluşturursun. Form2 Consturctorunda bu degişkene göre dil text'lerini degiştirirsin.
[CODE lang="csharp" title="Form1"]public static int language;
private void button1_Click(object sender, EventArgs e)
{
language = 1;
Form2 form2 = new Form2();
form2.Show();
}
private void button2_Click(object sender, EventArgs e)
{
language = 2;
Form2 form2 = new Form2();
form2.Show();
}[/CODE]
[CODE lang="csharp" title="Form2"]public Form2()
{
InitializeComponent();
if(Form1.language == 1)
{
label1.Text = "Tr";
} else
{
label1.Text = "En";
}
}[/CODE]
Not: ikiside aynı çıktıyı üretir.