Dialogresult messageboxu   otázka

VB.NET, Algoritmy, WinForms

Dobrý den,

prosím o radu s odchycením dialogresultu messageboxu. Pokud ho odchytávám a pracuji s ním rovnou je vše ok, pokud si ho chci ale uložit do proměnné a pracovat s ním později, narazil jsem na problém.

Mám tento kód:

        Dim Result As DialogResult
        Result = MessageBox.Show("Test dialogresultu", "Test", MessageBoxButtons.YesNoCancel)



        If Result = System.Windows.Forms.DialogResult.Yes Then
            Debug.Print("Yes")
        ElseIf System.Windows.Forms.DialogResult.No Then
            Debug.Print("No")
        ElseIf System.Windows.Forms.DialogResult.Cancel Then
            Debug.Print("Cancel")
        End If

Do proměnné result se uloží správný dialogresult, to je ok. Problém je ale v IF podmínce. I když je v resultu uloženo Yes, podmínka se nevyhodnotí jako TRUE (a stejné to je i u NO a CANCEL). Porovnávám to nějak špatně? Prakticky stejný kód jsem ale našel na MSDN a taky mi to nefungovalo.

Děkuji za rady.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Tak v kódu mám samozřejmě chybu. Správně to je takto:

        Dim Result As DialogResult
        Result = MessageBox.Show("Test dialogresultu", "Test", MessageBoxButtons.YesNoCancel)



        If Result = System.Windows.Forms.DialogResult.Yes Then
            Debug.Print("Yes")
        ElseIf Result = System.Windows.Forms.DialogResult.No Then
            Debug.Print("No")
        ElseIf Result = System.Windows.Forms.DialogResult.Cancel Then
            Debug.Print("Cancel")
        End If

Bohužel čeho jsem si nevšiml bylo, že jsem měl Visual Studio přepnuté do Release modu, kde je Debug.Print ignorováno (když se přepnu do Debug nebo vložím do podmínky cokoli jiného, je to už ok).

Takže se omlouvám za zbytečný příspěvek.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Zapněte si zjednodušený režim kompilace a nebudete se muset starat o ruční přepínání Debug/Release konfigurace.

Jinak v tomto případě se více hodí Select Case než If ElseIf.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback