我有一個數據網格和計時器的窗體。 我已經創建資源CalculationSheet和DUTCH 翻譯 - 英國(默認) - 荷蘭語計時器耗盡資源全球化
我開始在荷蘭語中的應用。 當我選擇一個新的記錄消息框彈出窗口。 它顯示正確的語言,荷蘭語。 我也設置了計時器。
當計時器過去並再次顯示消息框時,資源將以默認語言顯示。
這裏是主入口點的應用程序:
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
System.Threading.Thread.CurrentThread.CurrentUICulture =
new System.Globalization.CultureInfo("nl", true);
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
這裏是回調代碼:
void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
// shows in UK
MessageBox.Show(Properties.Resources.CalculationSheet);
}
private void Form1_Load(object sender, EventArgs e)
{
List<CalculationSheet> calculationSheets = new List<CalculationSheet>();
calculationSheets.Add(new CalculationSheet("a"));
calculationSheets.Add(new CalculationSheet("b"));
calculationSheets.Add(new CalculationSheet("c"));
this.dataGridView1.DataSource = calculationSheets;
this.m_Timer = new System.Timers.Timer();
this.m_Timer.Enabled = false;
this.m_Timer.Interval = 5000;
this.m_Timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed);
this.dataGridView1.SelectionChanged += new System.EventHandler(this.dataGridView1_SelectionChanged);
}
private void dataGridView1_SelectionChanged(object sender, EventArgs e)
{
// shows in DUTCH
MessageBox.Show(Properties.Resources.CalculationSheet);
this.m_Timer.Enabled = true;
}
感謝您的快速反應。 – user1773744
@ user1773744 NP,我已經更新了更多的代碼,具體說明如何捕獲SynchronizationContext並將回調編組。 – casperOne