我做了一个语言切换(英语,Polski),我想如果tabpage包含单词“New”然后将其更改为“Nowy”,反之亦然,但我有一个问题。这个tabPage是以编程方式制作的,我不知道如何更改它的标题文本。我做了这个:
private void englishToolStripMenuItem_Click(object sender, EventArgs e)
{
Class1.LangNumber = 2;
Class1.ChangeLanguage(2);
polskiToolStripMenuItem.Checked = false;
englishToolStripMenuItem.Checked = true;
fileToolStripMenuItem.Text = Class1.file;
openToolStripMenuItem.Text = Class1.open;
saveToolStripMenuItem.Text = Class1.save;
saveAsToolStripMenuItem.Text = Class1.saveas;
edjtToolStripMenuItem.Text = Class1.edit;
cutToolStripMenuItem.Text = Class1.cut;
copyToolStripMenuItem.Text = Class1.copy;
pasteToolStripMenuItem.Text = Class1.paste;
selectAllToolStripMenuItem.Text = Class1.selectall;
deselectAllToolStripMenuItem.Text = Class1.deselectall;
dateAndTimeToolStripMenuItem.Text = Class1.dateandtime;
nicknameToolStripMenuItem.Text = Class1.nickname;
autoWordSelectionToolStripMenuItem.Text = Class1.awsel;
tabManagementToolStripMenuItem.Text = Class1.tabmgmt;
newTabToolStripMenuItem.Text = Class1.ntab;
deleteSelectedTabToolStripMenuItem.Text = Class1.dtab;
infoToolStripMenuItem.Text = Class1.iands;
electryNotepadInfoToolStripMenuItem.Text = Class1.info;
setNicknameToolStripMenuItem.Text = Class1.setnickname;
languagesToolStripMenuItem.Text = Class1.lang;
nicknamerror = Class1.nicknameloaderror;
savedialog = Class1.saved;
savedialogcap = Class1.savecap;
nicknameerrorcap = Class1.nlecap;
ncreate = Class1.ncreation;
ncreatecap = Class1.ncreationcap;
setnicknamedialog = Class1.setnicknamedialog;
newtab = Class1.nev;
for (int i = 0; i <= tabControl1.TabCount - 1; i++)
{
TabPage t = tabControl1.TabPages[i];
if (t.Text.Contains("Nowy"))
{
t.Text.Replace("Nowy", "New");
}
Application.DoEvents();
}
}
private void polskiToolStripMenuItem_Click(object sender, EventArgs
e)
{
Class1.LangNumber = 1;
Class1.ChangeLanguage(1);
polskiToolStripMenuItem.Checked = true;
englishToolStripMenuItem.Checked = false;
fileToolStripMenuItem.Text = Class1.file;
openToolStripMenuItem.Text = Class1.open;
saveToolStripMenuItem.Text = Class1.save;
saveAsToolStripMenuItem.Text = Class1.saveas;
edjtToolStripMenuItem.Text = Class1.edit;
cutToolStripMenuItem.Text = Class1.cut;
copyToolStripMenuItem.Text = Class1.copy;
pasteToolStripMenuItem.Text = Class1.paste;
selectAllToolStripMenuItem.Text = Class1.selectall;
deselectAllToolStripMenuItem.Text = Class1.deselectall;
dateAndTimeToolStripMenuItem.Text = Class1.dateandtime;
nicknameToolStripMenuItem.Text = Class1.nickname;
autoWordSelectionToolStripMenuItem.Text = Class1.awsel;
tabManagementToolStripMenuItem.Text = Class1.tabmgmt;
newTabToolStripMenuItem.Text = Class1.ntab;
deleteSelectedTabToolStripMenuItem.Text = Class1.dtab;
infoToolStripMenuItem.Text = Class1.iands;
electryNotepadInfoToolStripMenuItem.Text = Class1.info;
setNicknameToolStripMenuItem.Text = Class1.setnickname;
languagesToolStripMenuItem.Text = Class1.lang;
nicknamerror = Class1.nicknameloaderror;
savedialog = Class1.saved;
savedialogcap = Class1.savecap;
nicknameerrorcap = Class1.nlecap;
ncreate = Class1.ncreation;
ncreatecap = Class1.ncreationcap;
setnicknamedialog = Class1.setnicknamedialog;
newtab = Class1.nev;
for(int i = 0; i <= tabControl1.TabCount - 1; i++)
{
TabPage t = tabControl1.TabPages[i];
if(t.Text.Contains("New"))
{
t.Text.Replace("New", "Nowy");
}
Application.DoEvents();
}
}
Class1文件:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ElectryNotepad
{
public static class Class1
{
public static string file = "Plik";
public static string open = "Otwórz";
public static string save = "Zapisz";
public static string saveas = "Zapisz jako";
public static string edit = "Edycja";
public static string cut = "Wytnij";
public static string copy = "Kopiuj";
public static string paste = "Wklej";
public static string selectall = "Zaznacz wszystko";
public static string deselectall = "Odznacz wszystko";
public static string dateandtime = "Data i Godzina";
public static string nickname = "Nazwa";
public static string awsel = "Automatyczne zaznaczanie słów";
public static string tabmgmt = "Zarządzanie zakładkami";
public static string ntab = "Nowa zakładka";
public static string dtab = "Usuń zaznaczoną zakładkę";
public static string iands = "Informacje i ustawienia";
public static string info = "ElectryNotepad - Informacje";
public static string setnickname = "Ustaw nazwę";
public static string nicknameloaderror = "Nie ustawiłeś swojej nazwy.
Proszę kliknąć opcję \"Ustaw nazwę\" w \"Informacje i Ustawienia\".";
public static string nlecap = "Błąd nazwy";
public static string setnicknamedialog = "Proszę wpisz swoją nazwę w
pole tekstowe poniżej (max 32 znaki) \n \n UWAGA! POPRZEDNIA NAZWA
ZOSTANIE USUNIĘTA!";
public static string ncreation = "\n \n Czy na chcesz ustawić tą
nazwę?";
public static string ncreationcap = "Asystent ustawiania nazwy";
public static string nev = "Nowy ";
public static string saved = "Czy chcesz zapisać swoją pracę?";
public static string savecap = "Zapisywanie";
public static string lang = "Język";
public static bool Polish = true;
public static int LangNumber = 1;
public static void ChangeLanguage(int l)
{
switch(l)
{
case 1:
Polish = true;
lang = "Język";
file = "Plik";
open = "Otwórz";
save = "Zapisz";
saveas = "Zapisz jako";
edit = "Edycja";
cut = "Wytnij";
copy = "Kopiuj";
paste = "Wklej";
selectall = "Zaznacz wszystko";
deselectall = "Odznacz wszystko";
dateandtime = "Data i Godzina";
awsel = "Automatyczne zaznaczanie słów";
tabmgmt = "Zarządzanie zakładkami";
nickname = "Nazwa";
ntab = "Nowa zakładka";
dtab = "Usuń zaznaczoną zakładkę";
iands = "Informacje i ustawienia";
info = "ElectryNotepad - Informacje";
setnickname = "Ustaw nazwę";
nicknameloaderror = "Nie ustawiłeś swojej nazwy. Proszę
kliknąć opcję \"Ustaw nazwę\" w \"Informacje i
Ustawienia\".";
nlecap = "Błąd nazwy";
setnicknamedialog = "Proszę wpisz swoją nazwę w pole
tekstowe poniżej (max 32 znaki) \n \n UWAGA! POPRZEDNIA
NAZWA ZOSTANIE USUNIĘTA!";
ncreation = "\n \n Czy na chcesz ustawić tą nazwę?";
ncreationcap = "Asystent ustawiania nazwy";
nev = "Nowy ";
saved = "Czy chcesz zapisać swoją pracę?";
savecap = "Zapisywanie";
break;
case 2:
Polish = false;
lang = "Language";
file = "File";
open = "Open";
save = "Save";
saveas = "Save as";
edit = "Edit";
cut = "Cut";
copy = "Copy";
paste = "Paste";
dateandtime = "Date and time";
selectall = "Select All";
deselectall = "Deselect All";
awsel = "Auto Word Selection";
tabmgmt = "Tab Management";
nickname = "Nickname";
ntab = "New Tab";
dtab = "Delete Selected Tab";
iands = "Info and Settings";
info = "ElectryNotepad - Info";
setnickname = "Set Nickname";
nicknameloaderror = "You didn't set nickname. Please, press
\"Set Nickname\" in \"Info and Settings\".";
nlecap = "Nickname error";
setnicknamedialog = "Please type your nickname in text field
below (max 32 characters) \n \n CAUTION! PREVIOUS NICKNAME
WILL BE DELETED!";
ncreation = "\n \n Are you sure you want to set this
nickname?";
ncreationcap = "Nickname creation assistant";
nev = "New ";
saved = "Do you want to save this?";
savecap = "Saving";
break;
}
}
}
}
但它不起作用。当我点击Polski按钮或英语时它不会改变任何东西。请帮帮我。
答案 0 :(得分:0)
你的所有观念都是错误的。您应该使用翻译机制进行此类工作。
答案 1 :(得分:0)