Prima di tutto questo è la voce di log degli errori sul mio erroreDispatcher getta InvalidOperationException su Messagebox.Show in evento TextChanged
crash program @ 15-9-2011 15:01:30error:System.InvalidOperationException: Dispatcher processing has been suspended, but messages are still being processed. at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
codice Comunque:
private void TB_postcode_cijfers_TextChanged(object sender, TextChangedEventArgs e){
if (TB_postcode_cijfers.Text != string.Empty || TB_postcode_cijfers.Text.Length > 0)
{
LBL_postcode.Content = Postcode_cijfers + Postcode_letters;
if (TB_postcode_cijfers.Text.Length == 4 && TB_postcode_letters.Text.Length == 2)
{
if (!ZoekOpPostcode(Injectioncheck(TB_postcode_cijfers.Text + TB_postcode_letters.Text)))
{
//MessageBox.Show("Geen resultaat gevonden, " + errortext);
if (MessageBox.Show("Geen resultaat gevonden, " + errortext + ".\n Wilt u overschakelen naar handmatig? ", "Handmatig?", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
{
RB_handmatig.IsChecked = true;
}
else
{
//
}
}
}
}}
Così sul metodo messagebox.show . questo accade solo quando l'utente cambia modalità di lettura in modalità modifica sul mio modulo. questo implica il collasso en mostrando alcune etichette e controlli ui.
se l'evento si attiva da utenteinput tutto va bene. Cosa voglio sapere: Perché l'evento textchanged si attiva nascondendo e mostrando alcuni controlli. Cosa posso fare per prevenire questo errore?
MODIFICA: il codice sopra è in un controllo wpf personalizzato. collocato in una WinForms progetto/modulo
fa il codice MessageBox corsa sul thread UI? – thumbmunkeys
Non sono sicuro, per quanto posso dire, perché è un evento da un controllo ui dovrebbe essere ?? destra?? – Daanvl
È possibile fornire la finestra del proprietario in MessageBox.Show()? Ha una firma sovraccaricata che accetta il proprietario della finestra. –