Folderbrowserdialog - zavření okna   otázka

VB.NET

Tak nevím co dělám špatně, přidal jsem si do nastavení výběr složky:

	Private Sub ButtonZmenitSlozku_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonZmenitSlozku.Click

		If TextBoxSlozka.Text = "" Then
			FolderBrowserDialogSlozka.SelectedPath = System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
		Else
			FolderBrowserDialogSlozka.SelectedPath = TextBoxSlozka.Text
		End If

		If FolderBrowserDialogSlozka.ShowDialog = DialogResult.OK Then

			TextBoxSlozka.Text = FolderBrowserDialogSlozka.SelectedPath
		End If
	End Sub

Problem je v tom ze se mi zavre okno Nastaveni pokud vyberu slozku a kliknu na tlacito Ok.

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

Ve FormClosing mi to dává CloseReason.None

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

Co je okno Nastaveni? Modální systémové dialogové okno (jako je například FolderBrowserDialog) se pochopitelně po stisku OK nebo Storno uzavře, co jste čekal jiného?

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

1) Spustím formulář "Nastaveni."

2) Kliknu na tlačítko Adresář - ¨"ButtonZmenitSlozku_Click"

3) V této proceduře otevřu Folderborwserdialog

4) Potvrdím adresář nebo dám storno

5) A teď nastává zmatek - program má pokračovat ve formuláři Nastavení, ale místo toho se provede zavření okna "Nastavení".

Doplnil jsem funkci pro zachycení události "Nastaveni_FormClosing" a v něm si odchytávám důvod uzavření okna "Nastavení" - dává mi to hodnotu None.

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

Ještě jeden pokus. Přidal jsem další tlačítko a FileOpenDialog, jestli chyba není někde u mne. Do nového tlačítka jsem zadal tento kód:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

	If OpenFileDialog1.ShowDialog = DialogResult.OK Then

		TextBoxSlozka.Text = OpenFileDialog1.FileName
	End If
End Sub

Tohle funguje jak má, výsledný soubor se zapíše do text boxu. A okno Nastaveni zůstane otevřené.

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

Vaše sdělení si vysvětluji tak, že máte aplikaci s formulářem, který jste pojmenoval "Nastaveni". Na formuláři máte FolderBrowserDialog pojmenovaný "FolderBrowserDialogSlozka", TextBox se jménem "TextBoxSlozka" a Button se jménem "ButtonZmenitSlozku". Klikem na button se provede kód, který jste zde uvedl.

Po spuštění aplikace se otevře formulář, po stisku tlačítka ButtonZmenitSlozku a následném obsloužení a ukončení dialogu "FolderBrowserDialogSlozka" se záhadně uzavře formulář "Nastaveni" a tím se ukončí běh aplikace (je to tak?).

V kódu (tlačítka), který jste zde uvedl, rozhodně příčina problému není. Jestliže funguje jiný dialog, nebude asi problém ani ve formuláři. Hledal bych chybu ve vlastnostech dialogu (co jste na něm měnil?). Zkuste dialog odstranit a nahradit novým. Když to nepomůže, začněte na novém formuláři (novou aplikaci) - vše zde uvedené musí bez problému fungovat.

nahlásit spamnahlásit spam 0 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