2012-05-23 24 views
11

Me preguntaba cuál es la forma más fácil de guardar y cargar datos a través de diferentes formularios en vb. Solo quiero guardar 3 textbox.text que un usuario guarda y poder cargarlo en un formulario diferente.Manera simple de guardar y cargar datos Visual Basic

+0

¿Necesita guardar en el disco para que se mantenga incluso cuando la aplicación está cerrada, o solo necesita almacenarse en la memoria? –

+0

Tendría que guardarse en el disco. – Jonathan

Respuesta

3

La opción más simple sería guardarlos en un archivo de texto delimitado simple. Por ejemplo, esto sería guardar los valores en un archivo de tubo delimitado por:

File.WriteAllText("C:\Data.txt", String.Join("|", new String() {TextBox1.Text, TextBox2.Text, TextBox3.Text})) 

Y esto lo leería en:

Dim values() as String = File.ReadAllText("C:\Data.txt").Split("|"c) 
TextBox1.Text = values(0) 
TextBox2.Text = values(1) 
TextBox3.Text = values(2) 

Sin embargo, no es inteligente para guardar en un archivo en el directorio raíz . Lo más seguro sería almacenarlo en un archivo en Almacenamiento aislado. Además, sería aún mejor almacenarlo en XML. Esto podría hacerse fácilmente con la serialización.

18

Si se trata de una configuración de usuario, puede usar el objeto My.Settings incorporado para guardar y cargar.

Desde arriba Enlace:

Los My.Settings objeto proporciona acceso a la configuración de la aplicación y le permite almacenar y recuperar dinámicamente la configuración de propiedades y otra información para su aplicación.

Puede crear la configuración en su sección Configuración de Proyecto Propiedad:

que se puede acceder de esta manera.

dim MyTemp as String = My.Settings.MySetting 

y guardarlo como esto

My.Settings.MySetting = "StringValue" 
My.Settings.Save() 

Esto se persiste en el archivo de configuración de la siguiente manera:

<userSettings> 
    <WindowsApplication11.My.MySettings> 
     <setting name="MySetting" serializeAs="String"> 
      <value>TempValue</value> 
     </setting> 
    </WindowsApplication11.My.MySettings> 
</userSettings> 
+0

Solución perfecta gracias amigo :) –