Como usar FolderBrowserDialog

Iniciado por z3nth10n, 24 Enero 2013, 20:46 PM

0 Miembros y 1 Visitante están viendo este tema.

$Edu$

#30
Cita de: Seazoux en 25 Enero 2013, 21:57 PM
Lo que intento hacer es editar el Folder desde:

Código (vbnet) [Seleccionar]

        If Resultado = Windows.Forms.DialogResult.OK Then
               ' Aquí iria el codigo
        End If


Pero hay conflicto porque hay ya un Folder definido, que por cierto lo quite de Form1,


Código (vbnet) [Seleccionar]

Option Explicit On

Public Class Form2

    Dim Listita As New ListBox
    Dim FBD As New FolderBrowserDialog


    Private Sub Form2_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
        Listita.BackColor = Color.White
        Listita.ForeColor = Color.Black
        Listita.Size = New Point(340, 251)
        Listita.Location = New Point(12, 25) ' Dejo un margen de espacio de 100 px porque solo quieres ocupar "la mayor parte"
        AddHandler Listita.SelectedIndexChanged, AddressOf Listita_SelectedIndexChanged
        Me.Controls.Add(Listita)

        Dim Folder As String = "C:\Users\Alvaro\Documents"
        Dim Files As Array = IO.Directory.GetFiles(Folder, "*", IO.SearchOption.TopDirectoryOnly)

        For Each File In Files
            Dim File_Info As New IO.FileInfo(File)
            Listita.Items.Add(File_Info.Name)
        Next

        Dim Files1 As Array = IO.Directory.GetFiles(Environment.GetFolderPath(Environment.SpecialFolder.System), "*", IO.SearchOption.TopDirectoryOnly)
        Dim TotalRoms As Int32 = Files1.Length
        Label1.Text = "Roms encontrados (" & TotalRoms & ")"
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Me.Close()
    End Sub

    Private Sub Listita_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
        Dim Item As String = Listita.SelectedItem
        MsgBox(Folder + Item)
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        FBD.Description = " Seleccionar una carpeta "
        FBD.SelectedPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
        FBD.ShowNewFolderButton = True
        Dim Folder As String = FBD.SelectedPath
        Dim Resultado As DialogResult = FBD.ShowDialog
        If Resultado = Windows.Forms.DialogResult.OK Then

        End If

        FBD.Dispose()
    End Sub
End Class


Un saludo.

Tenes que poner la linea Dim Folder As String = "C:\Users\Alvaro\Documents" junto con estas otras para que quede asi:

Dim Listita As New ListBox
Dim FBD As New FolderBrowserDialog
Dim FolderPrincipal As String = "C:\Users\Alvaro\Documents"

Asi la nueva variable FolderPrincipal se podra usar desde cualquier procedimiento o funcion.

Luego si podras usar esa variable aca:

Código (vbnet) [Seleccionar]

If Resultado = Windows.Forms.DialogResult.OK Then
  FolderPrincipal = folder ' si es que querias hacer esto (poner la nueva carpeta seleccionada)
        End If



Nada mas, nada de complicaciones, por lo menos es lo que te he entendido.

z3nth10n

No tengo actualizado ese codigo, ahora lo que intento leer es la variable haciendo una pequeña prueba:

Código (vbnet) [Seleccionar]
MsgBox("La ruta del Folder deberia salir aquí: " & My.Settings.Folder)

Pero no me sale nada de nada y eso que le tengo un value puesto.  >:D

Interesados hablad por Discord.

Eleкtro

#32
Cita de: Seazoux en 26 Enero 2013, 19:09 PM
Código (vbnet) [Seleccionar]
MsgBox("La ruta del Folder deberia salir aquí: " & My.Settings.Folder)

no me sale nada de nada y eso que le tengo un value puesto. >:D

Si la propiedad tiene un valor de tipo string, entonces ese msgbox debería funcionar,
a menos que hayas eliminado el valor de la propiedad en alguna parte dle código . . . y si no muestra nada, entonces es que la propiedad no tiene ningún valor, está vacía.

Sincéramente no se te puede ayudar si no aportas datos, ¿como esperas que te digamos cual es el problema en esa línea de código si no muestras más información?

1. la excepción que te marca la IDE, eso haznos el favor a todos de ponerlo siempre cuando postees un problema, xq yo por ejemplo me canso de postear para pedirte más información siempre...
2. Una imagen de tus "settings"
3. el código del sub donde intentas usar la variable

eso estaría bien...

Saludos








z3nth10n

Directamente te paso el codigo por un MP y listo.  :P

Interesados hablad por Discord.

$Edu$

Estoy casi seguro que lo que quieres es mas simple de lo que crees, es exactamente lo que te dije yo seguramente. No necesitas hacer nada de Settings y no se que mas, es mas simple.

Eleкtro

Cita de: $Edu$ en 26 Enero 2013, 19:33 PM
Estoy casi seguro que lo que quieres es mas simple de lo que crees, es exactamente lo que te dije yo seguramente. No necesitas hacer nada de Settings y no se que mas, es mas simple.

Pienso lo mismo, unos comentarios atrás en este post puedes ver como le modifiqué el form con los cambios que le has comentado tú $Edu$, pero ni así...
si sé le da mal las variables creo que mejor con settings xD...

Cita de: Seazoux en 26 Enero 2013, 19:09 PM
no me sale nada de nada y eso que le tengo un value puesto.  >:D

A mi me funciona bien, me sale un msgbox con el valor de la setting: "Aquí debería salir el Folder"

reinicia el VS a ver a veces hace cosas raras xD








z3nth10n

Cita de: EleKtro H@cker en 26 Enero 2013, 19:36 PM
A mi me funciona bien, me sale un msgbox con el valor de la setting: "Aquí debería salir el Folder"

reinicia el VS a ver a veces hace cosas raras xD

Ni p**a idea, pero que no me funciona, pero WTF?????

Interesados hablad por Discord.

Eleкtro

#37
Código (vbnet) [Seleccionar]
   Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
       MsgBox("Test:" & My.Settings.Folder)
   End Sub


Pues te aseguro que tál y como lo tienes funciona, no he tocaod nada, y muestra el valor "Aquí debería salir el Folder".

Prueba a limpiar el proyecto y vuelve a recounstruirlo.  (Clean, rebuild solution)

Una pregunta... tú estás usando settings para recordar la última ruta, cuando cierras y vuelves a abrir la aplicación? o lo estás usando como alternativa a usar variabls?

Porque en segundo caso, deberías intentarlo con variables como dice $Edu$, es que si no puedes con una maldita variable... no vas a poder hacer por tí mismo xD.

Saludos!








z3nth10n

Cita de: EleKtro H@cker en 26 Enero 2013, 19:45 PM
Código (vbnet) [Seleccionar]
   Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
       MsgBox("Test:" & My.Settings.Folder)
   End Sub


Pues te aseguro que tál y como lo tienes funciona, no he tocaod nada, y muestra el valor "Aquí debería salir el Folder".

Prueba a limpiar el proyecto y vuelve a recounstruirlo.  (Clean, rebuild solution)

Una pregunta... tú estás usando settings para recordar la última ruta, cuando cierras y vuelves a abrir la aplicación? o lo estás usando como alternativa a usar variabls?

Porque en segundo caso, deberías intentarlo con variables como dice $Edu$, es que si no puedes con una maldita variable... no vas a poder hacer por tí mismo xD.

Saludos!

Lo estoy usando para la primera opcion xD ahora me enseñaras a usar el MySettings.Save xD

Interesados hablad por Discord.

Eleкtro

#39
Cita de: Seazoux en 26 Enero 2013, 19:48 PMahora me enseñaras a usar el MySettings.Save xD
No tiene ningún misterio,

Código (vbnet) [Seleccionar]
MySettings.Save()

Fín.

-.-

* Y así guardas todos los cambios de los valores de todas tus settings.

* Y puedes activar la opción de salvar automáticamente las settings al cerrar la APP.