Título: Ayuda al copiar de un textbox. !! C# Publicado por: Hartigan en 11 Mayo 2010, 17:14 pm Hola, tengo un listbox en el que se almacenarán nombres. Entonces para agregar los nombres he creado un botón "añadir" que al presionarlo carga un formulario simple con un textBox en el que se introduce el nombre y al darle a aceptar quiero que se añada al listBox.
Como puedo hacerlo??? porque no consigo ver desde el método del botón aceptar del nuevo formuladio el listBox.... gracias de antemano. Título: Re: Ayuda al copiar de un textbox. !! C# Publicado por: DaNuK en 12 Mayo 2010, 06:10 am dejame ver si te entendi
capturas el nombre en un textbox y cuando le des clic en aceptar se añada al listbox es muy facil aki te dejo el codigo Código espero te sirve saludos Título: Re: Ayuda al copiar de un textbox. !! C# Publicado por: Shell Root en 12 Mayo 2010, 06:49 am En la forma que lo haces tú (DaNuK), sería la forma correcta si estuviese dentro del mismo formulario. Pero como bien lo dijo Hartigan, es un formulario aparte. Intentad buscar 'Instanciar formularios en c-sharp'. Será algo como estó:
Código
Título: Re: Ayuda al copiar de un textbox. !! C# Publicado por: [D4N93R] en 12 Mayo 2010, 16:34 pm Recomendación: No usen "" para indicar un String vacío. Usen String.Empty. Ya que es estático y es una sola instancia de "".
Saludos! Título: Re: Ayuda al copiar de un textbox. !! C# Publicado por: DaNuK en 12 Mayo 2010, 18:48 pm como no te entiendo D4n3R sobre string.empty podrias poner un ejemplo porfas
Título: Re: Ayuda al copiar de un textbox. !! C# Publicado por: Shell Root en 12 Mayo 2010, 19:18 pm Supongamos que quieres hacer algo como estó:
Código
La mejor forma de hacerlo con String.Empty es así: Código
Aunque creo que da igual la forma en que lo uses, no le veo la diferencia entre usar una u otra. Tal vez sea estilo de programación. Título: Re: Ayuda al copiar de un textbox. !! C# Publicado por: DaNuK en 12 Mayo 2010, 20:22 pm Gracias amigo
Título: Re: Ayuda al copiar de un textbox. !! C# Publicado por: [D4N93R] en 12 Mayo 2010, 20:32 pm Hola,
Debes usar "" cuando lo comparas con un valor en loop, ya que el runtime conoce el valor de "" justo antes del JIT. Acuerdense que en .Net todo es un objeto por lo que cada vez que usas "" creas uno. Por lo cual es un poco más eficiente usar String.Empty que "". Caemos en un dilema, un loop de 10.000, si usamos "" creamos 10.000 objetos más; si usamos String.Empty no los creamos, pero cada vez que se acceda a la propiedad se pierde un poco de tiempo. Es cuestión de evaluar. Saludos! Título: Re: Ayuda al copiar de un textbox. !! C# Publicado por: [D4N93R] en 12 Mayo 2010, 20:35 pm Por cierto la opción más rápida es .Length == 0
Título: Re: Ayuda al copiar de un textbox. !! C# Publicado por: Atrum en 13 Mayo 2010, 15:52 pm Bueno pues volviendo un poco al tema, con respecto a el problema de Hartigan parece que lo que se necesita es una variable publica en el formulario 2 para que haga referencia al listbox del formulario 1
Bueno yo lo haria asi: Dentro de la clase de mi formulario 2 se declara una variable publica del tipo ListBox: Código
Despues al instanciar el formulario 2 desde el formulario 1 hacemos esto para asignarla: Código
Donde el ListBox1 es donde se quieren agregar los nombres. Y ya en el codigo del boton que agrega el nombre en el formulario 2 hacemos esto: Código
En teoria debe de funcionar, lo que se hace es pasar el objeto listbox del form 1 como referencia al form 2 mediante una variable publica, al momento de asignarlo son 2 variables de distintas clases que hacen referencia al mismo objeto, ya que jamas creas la instancia nueva con "new", al agregar los nombres desde el form2 debera aparecer en el listbox del form 1. Nota: Si nunca haces la asignacion frmNombres.MyList = listBox1 tendras un error de referencia nula. Saludos. Título: Re: Ayuda al copiar de un textbox. !! C# Publicado por: [D4N93R] en 13 Mayo 2010, 19:57 pm Si, pero igual vuelvo yo jeje..
No uses miembros públicos, utiliza propiedades para acceder a éstos. Código
Título: Re: Ayuda al copiar de un textbox. !! C# Publicado por: Hartigan en 14 Mayo 2010, 12:42 pm Gacias a todos por las respuestas pero me da el siguiente error haciendo lo que dice Xtriker:
Citar No se controló System.NullReferenceException Message="Referencia a objeto no establecida como instancia de un objeto." Como sería usando la propiedad D4N93R???? esque aun soy bastante novato en esto y no las controlo muy bien. xDD Salu2. Título: Re: Ayuda al copiar de un textbox. !! C# Publicado por: Atrum en 14 Mayo 2010, 15:36 pm Asi tal y como lo puso D4N93R, declaras tu miembro privado y accedes a el desde la propiedad:
Código
lo de la referencia nula te lo marca por que MyListBox tiene el valor Null y no esta asociada con ninguna instancia, pero no se exactamente donde este el problema recien lo probe y me funciono bien, tal ves si pones la parte de tu codigo para checarlo podemos verificar que esta mal. Por que no colocas un punto de interrupcion en donde asignas el Listbox al miembro publico o a la propiedad, y checas los valores de las variables hasta ese momento y vas ejecutando paso por paso para ver por que se queda tu objeto como null. Título: Re: Ayuda al copiar de un textbox. !! C# Publicado por: Hartigan en 14 Mayo 2010, 18:25 pm Este es el código:
En el formulario 1, tengo esto: Código
en el formulario 2 tengo: Código
De momento lo tengo puesto con la variable pública, en cuanto me funcione lo cambio por la propieda. Salu2. Título: Re: Ayuda al copiar de un textbox. !! C# Publicado por: [D4N93R] en 14 Mayo 2010, 19:21 pm Supongo que el error te lo da en myListBox.Items.Add(textBox_AñadirCE.Text);
Tienes que asegurarte de que en frmNuevoEmail.myListBox = listBox_Email; listBox_Email no este nulo.. Título: Re: Ayuda al copiar de un textbox. !! C# Publicado por: Hartigan en 14 Mayo 2010, 19:27 pm Supongo que el error te lo da en myListBox.Items.Add(textBox_AñadirCE.Text); Tienes que asegurarte de que en frmNuevoEmail.myListBox = listBox_Email; listBox_Email no este nulo.. Efectivamente el error me lo da ahí. Pero como hago que no esté nulo si primeramente quiero que el listBox este vacio, es decir que no haya ningun email agregado...??? Título: Re: Ayuda al copiar de un textbox. !! C# Publicado por: Atrum en 14 Mayo 2010, 20:19 pm Bueno, al parecer el error esta aqui:
Al crear una nueva instancia de la clase Interfaz_NuevoEmail, myListBox esta con valor null, entonces en esta parte del codigo no le asignas nada a myListBox Código
Por curiosidad por que creas una instancia del Interfaz_NuevoEmail en el constructor? Título: Re: Ayuda al copiar de un textbox. !! C# Publicado por: [D4N93R] en 14 Mayo 2010, 20:44 pm listBox_Email en un listbox en el formulario, o simplemente una variable tipo listbox?
Título: Re: Ayuda al copiar de un textbox. !! C# Publicado por: 43H4FH44H45H4CH49H56H45H en 14 Mayo 2010, 21:34 pm Efectivamente el error me lo da ahí. Pero como hago que no esté nulo si primeramente quiero que el listBox este vacio, es decir que no haya ningun email agregado...??? Te toca mejorarlo pero puedes probar asi: Form1: Código
Form2: Código
Título: Re: Ayuda al copiar de un textbox. !! C# Publicado por: Hartigan en 15 Mayo 2010, 01:09 am Bueno, al parecer el error esta aqui: Al crear una nueva instancia de la clase Interfaz_NuevoEmail, myListBox esta con valor null, entonces en esta parte del codigo no le asignas nada a myListBox Código
Por curiosidad por que creas una instancia del Interfaz_NuevoEmail en el constructor? Lo hago para poder mostrar el segundo formulario. Es decir, el primer formulario lo llamo Interfaz_NuevoContacto y el segundo Interfaz_NuevoEmail. De esa manera cargo al pulsar el botón... xD listBox_Email en un listbox en el formulario, o simplemente una variable tipo listbox? Es el nombre del listBox dentro del fomulario 1. osea del fomulario Interfaz_Nuevo contacto. Efectivamente el error me lo da ahí. Pero como hago que no esté nulo si primeramente quiero que el listBox este vacio, es decir que no haya ningun email agregado...??? Te toca mejorarlo pero puedes probar asi: Gracias, lo pruebo y te comento. Gracias a todos por la ayuda, probaré a ver lo que me decis a ver si funciona. Título: Re: Ayuda al copiar de un textbox. !! C# Publicado por: Hartigan en 15 Mayo 2010, 01:17 am Bueno pues resulta que efectivamente había colocado mal las cosas y añadiendo lo que dice Xtriker me ha funcionado. xDD jajaja. asíque ya lo tengo.
43H4FH44H45H4CH49H56H45H lo de los Dialog no es para los cuadros de dialogo???. pregunto porque no lo se. xDD como ya he dicho soy aun novato en esto. Otra pregunta, me han comentado que estas cosas se hacen mediante los delegados. Que son??? es esto que hemos hecho???. xDD Muchas gracias a todos por la ayuda, sois unos cracks. xDD Título: Re: Ayuda al copiar de un textbox. !! C# Publicado por: 43H4FH44H45H4CH49H56H45H en 15 Mayo 2010, 01:55 am Si utilizas DialogShow y dialogresult, te permite añadir items al listbox solo si presiona el boton con dialogresult del 2do form, asi puedes hacer todas las validaciones que necesites desde el primer form, la verdad tiene bastantes usos ;D
Título: Re: Ayuda al copiar de un textbox. !! C# Publicado por: Hartigan en 15 Mayo 2010, 13:24 pm Bueno chicos ya me funciona perfectamente usando una propiedad en lugar de la variable pública. xDD
Muchas gracias a todos. La solución de como lo he hecho es poner lo mismo que me han dicho los compañeros. salu2. Título: Re: Ayuda al copiar de un textbox. !! C# Publicado por: [D4N93R] en 15 Mayo 2010, 16:06 pm Otra vez yo acá jejeje
No coloques la palabra interfaz en los nombres de los formularios, utiliza otra palabra, como form, formulario, ventana, o lo que quieras, ya que una interfaz, interface en programación es otra cosa: http://msdn.microsoft.com/en-us/library/ms173156.aspx (http://msdn.microsoft.com/en-us/library/ms173156.aspx) http://msdn.microsoft.com/en-us/library/87d83y5b(VS.80).aspx (http://msdn.microsoft.com/en-us/library/87d83y5b(VS.80).aspx) Un saludo! Título: Re: Ayuda al copiar de un textbox. !! C# Publicado por: Hartigan en 15 Mayo 2010, 17:12 pm Otra vez yo acá jejeje No coloques la palabra interfaz en los nombres de los formularios, utiliza otra palabra, como form, formulario, ventana, o lo que quieras, ya que una interfaz, interface en programación es otra cosa: http://msdn.microsoft.com/en-us/library/ms173156.aspx (http://msdn.microsoft.com/en-us/library/ms173156.aspx) http://msdn.microsoft.com/en-us/library/87d83y5b(VS.80).aspx (http://msdn.microsoft.com/en-us/library/87d83y5b(VS.80).aspx) Un saludo! mmm yo esque los llamo interfaz puesto que van a mostrar las interfaces de mi programa, es decir los menús y demás historias. pero quizás tengas razón y debería llamarlos de otra menera... xD Título: Re: Ayuda al copiar de un textbox. !! C# Publicado por: [D4N93R] en 15 Mayo 2010, 18:20 pm Entonces el nombre completo sería interfaz de usuario :)
Es solo una recomendación, Un saludo! Título: Re: Ayuda al copiar de un textbox. !! C# Publicado por: Hartigan en 15 Mayo 2010, 19:21 pm Entonces el nombre completo sería interfaz de usuario :) Es solo una recomendación, Un saludo! Ok, gracias ;) Título: Re: Ayuda al copiar de un textbox. !! C# Publicado por: Hartigan en 15 Mayo 2010, 19:27 pm Tengo una nueva duda con un comboBox. La pregunto aquí para no andar creando otro hilo.
Como puedo hacer para que el comboBox muestre un elemento de la lista desde el principio????. Salu2. Título: Re: Ayuda al copiar de un textbox. !! C# Publicado por: [D4N93R] en 16 Mayo 2010, 03:59 am comboBox.SelectedIndex = al numero que quieras, o comboBox.SelectedItem = al objeto, en caso de que metas en los Items puros objetos y entonces en la clase de esos objetos sobre escribes el método ToString y retornas un campo del objeto..
Título: Re: Ayuda al copiar de un textbox. !! C# Publicado por: Hartigan en 16 Mayo 2010, 12:04 pm comboBox.SelectedIndex = al numero que quieras, o comboBox.SelectedItem = al objeto, en caso de que metas en los Items puros objetos y entonces en la clase de esos objetos sobre escribes el método ToString y retornas un campo del objeto.. Oki, muchas gracias, me funcionó perfecto. xDD Salu2. ;-) Título: Re: Ayuda al copiar de un textbox. !! C# Publicado por: [D4N93R] en 17 Mayo 2010, 15:04 pm Que bueno!
|