hola Les hago una consulta, arme un programa en C# la parte grafica pero ahora tengo un problema con el codigo estuve buscando pero no encontre nada , yo tengo 2 form el primero es el general que tiene un listview y un boton agregar cuando preciono el boton agregar me sale el form2 con un textbox que se tiene que ingresar el nombre(ejemplo,tiene muchos textbox) y un boton que dice aceptar que al darle click me tiene que volver al primer form y me tiene que aparecer ese dato(nombre) en el listview como lo paso de un formulario a otro y que aparezca en el listview tienen idea??
otra consulta:en el segundo formulario tengo varios texbox para ingresar dni,nombre,apellido,sueldo,etc... y en el listview solo hago que me aparezca dni y sueldo pero cuando selecciono su dni me aparezca la ficha con sus datos(nombre,apellido,sueldo,etc) eso se tendria que hacer con bases de datos???
Les hago estas consultas poque recien estoy aprendiendo C# y mucho no entiendo estoy siguiendo unos videos pero les falta algunas cosas explicar.
Sobre la primera consulta:
Como dices tienes un
Form1 con un
ListBox y un
Button. Este botón te muestra el segundo form (
Form2) que tienes tu
TextBox y tu
Button de "Aceptar". Voy a asumir que sabes mostrar el segundo formulario.
Ahora, te explico, los controles en
Windows Forms por defecto se crean con visibilidad en
private. Puedes hacer que tu
ListBox sea
public. Le cambias la propiedad
Modifiers en el inspector de propiedades a
public. Cuando un objeto tiene visibilidad
private implica que no es visible (accesible) desde fuera del ámbito de la clase, caso contrario para
public, si es accesible fuera del ámbito)
Luego en tu
Form2 vas a tener una variable tipo
Form1.
public partial class Form2 : Form
{
public Form1 mainForm; //Esta variable va a tener una referencia al Form1
public Form2()
{
InitializeComponent();
}
//(......)
Ahora en el momento que muestres el
Form2, antes de mostrarlo, le creas una instancia y le asignas a esa variable
mainForm una referencia a
Form1Sería algo así:
Form2 form2 = new Form2();
form2.mainForm = this;
form2.ShowDialog();
Luego desde tu
Form2 tendrás acceso a la instancia del
ListBox por haberla hecha
public (Accesible) (Fijate que vamos a acceder a la ListBox desde fuera del ámbito del
Form1, o sea, desde el
Form2)
Por lo tanto en el método del
Button "Aceptar" podrás hacer lo siguiente:
mainForm.listBox.Items.Add(textBox.Text);
this.Close();
Sobre la segunda consulta:
Citareso se tendría que hacer con bases de datos???
No necesariamente.
La pregunta sería, ¿quieres que se guarden los datos incluso si cierras la aplicación?
En caso de que no quieras, puedes guardarlo en memoria (limitaciones como alto consumo de memoria RAM si hay muchos datos, ah, y que cierres el programa y lo pierdas todo).
En caso de que si quieras guardarlo hay varias opciones:
- Documentos de textos
- Serialización (manera de codificar un objeto en un archivo, por lo tanto deberías enfocar tu programa a que sea orientado a objetos)
- Base de datos
Espero esto te ayude.
Salu2s
muchas gracias DarK_FirefoX ya lo pude hacer,lo voy a hacer con bases de datos para tener todo mas ordenado!, Conocen algun manual online o libro bueno de C# que explique bien y todo esto de manejo de form ?