Witam. W uproszczeniu mój kod wygląda tak:
private void frmSettings_Load(object sender, EventArgs e)
{
throw new Exception("wyjątek");
label1.Text = "123";
}
Problem polega na tym że w trybie debugowania, żaden wyjątek nie jest wyrzucany a kod za nim się oczywiście nie wykonuje (czyli w tym wypadku tekst na label1 nie zmienia się). Natomiast gdy odpalam program bez debugowania, wszystko jest ok (czyli niezłapany wyjątek jest normalnie zgłaszany). Jest jeszcze jeden problem związany z powyższym. Wygląda to tak:
private void frmSettings_Load(object sender, EventArgs e)
{
obiekt.Zdarzenie += new MyEventHandler(Zdarzenie);
}
void Zdarzenie(MyEventArgs e)
{
label1.Text = "123";
}
Zdarzenie jest wywoływane z innego wątku niż ten w którym został utworzony label1. Więc powinien zostać zgłoszony wyjątek CrossThreadOperationException, ale nic takiego się nie dzieje. W trybie debugowania program natychmiastowo się zamyka (tak jak gdybym nacisnął przycisk Stop Debugging), natomiast przy uruchamianiu bez debugowania tekst na label1 zmienia się choć powinien być wyrzucony wyjątek... Dziwne to wszystko, nie mam pojęcia o co może chodzić. Byłbym wdzięczny za pomoc