Foros del Web » Programación para mayores de 30 ;) » .NET »

Pasar Datos Entre Formularios

Estas en el tema de Pasar Datos Entre Formularios en el foro de .NET en Foros del Web. Hola, voy a intentar explicar mi problema. Para que os situeis: parto de una aplicación que recoge una serie de datos introducidos por el usuario. ...
  #1 (permalink)  
Antiguo 13/05/2008, 11:08
 
Fecha de Ingreso: mayo-2008
Mensajes: 25
Antigüedad: 16 años
Puntos: 0
Pasar Datos Entre Formularios

Hola, voy a intentar explicar mi problema. Para que os situeis: parto de una aplicación que recoge una serie de datos introducidos por el usuario.
La aplicación está en Visual C#. Una vez terminada me la pasaron a mi para realizar la segunda parte, que es generar un informe a partir de todos esos datos.

En una de las pestañas hay un botón, que al darle pues generara el informe.
Yo estoy programando ese botón.

Además tengo que coger información externa al programa que proviene de un excel. Para asegurarme de que por lo que sea este excel no este o surja algún problema quiero mostrar un segundo formulario donde puedan meter esa información externa a mano.

A través de un bloque try,cath controlo la excepción que produciría si no encontrase el archivo excell, es decir que conecto con un segundo formulario y al introducir los datos vuelvo a conectar al formulario principal para que el programa siga su curso. Mi problema es que una vez pasa al segundo formulario siguen sucediéndose todas las demás instrucciones cuando lo que yo quiero es que pare , vaya al segundo formulario y vuelva a ese mismo punto.

Lo siento sino me he explicado muy bien es que es complicado para mi decirlo con palabras ya que no soy una experta en este tema.

Creo que tiene que ver que todo lo hago dentro del mismo evento Button_Click pero es que tengo que hacerlo asi por motivos ajenos a mi.

Podríais ayudarme????????
Graciassssssssss por adelantado!!!!!!!!!!!!!!!!!!!!
Un saludo
  #2 (permalink)  
Antiguo 13/05/2008, 12:18
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Re: Pasar Datos Entre Formularios

puedes poner tu codigo??
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #3 (permalink)  
Antiguo 13/05/2008, 12:55
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 5 meses
Puntos: 53
Re: Pasar Datos Entre Formularios

Cita:
Iniciado por amina Ver Mensaje
Hola, voy a intentar explicar mi problema. Para que os situeis: parto de una aplicación que recoge una serie de datos introducidos por el usuario.
La aplicación está en Visual C#. Una vez terminada me la pasaron a mi para realizar la segunda parte, que es generar un informe a partir de todos esos datos.

En una de las pestañas hay un botón, que al darle pues generara el informe.
Yo estoy programando ese botón.

Además tengo que coger información externa al programa que proviene de un excel. Para asegurarme de que por lo que sea este excel no este o surja algún problema quiero mostrar un segundo formulario donde puedan meter esa información externa a mano.

A través de un bloque try,cath controlo la excepción que produciría si no encontrase el archivo excell, es decir que conecto con un segundo formulario y al introducir los datos vuelvo a conectar al formulario principal para que el programa siga su curso. Mi problema es que una vez pasa al segundo formulario siguen sucediéndose todas las demás instrucciones cuando lo que yo quiero es que pare , vaya al segundo formulario y vuelva a ese mismo punto.

Lo siento sino me he explicado muy bien es que es complicado para mi decirlo con palabras ya que no soy una experta en este tema.

Creo que tiene que ver que todo lo hago dentro del mismo evento Button_Click pero es que tengo que hacerlo asi por motivos ajenos a mi.

Podríais ayudarme????????
Graciassssssssss por adelantado!!!!!!!!!!!!!!!!!!!!
Un saludo

esta es tu respuesta,

http://msmvps.com/blogs/otelis/archi...-globales.aspx

nos vemos.
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #4 (permalink)  
Antiguo 14/05/2008, 02:29
 
Fecha de Ingreso: mayo-2008
Mensajes: 25
Antigüedad: 16 años
Puntos: 0
Re: Pasar Datos Entre Formularios

Cita:
Iniciado por Peterpay Ver Mensaje
puedes poner tu codigo??

Hola, aqui lo tienes. He marcado donde esta el problema con el que me encuentro.
Mil gracias por responder!!


private void button116_Click(object sender, EventArgs e)
{
//*****************************************ANEXOA*** ************************************************** *********************



//-------------------ABRE WORD Y HACE COPIA PLANTILLA ANEXO
Word._Document doc;
Word.Application ApWord = new Word.Application();
//copio la plantilla original
string path_plantilla = @"C:\Documents and Settings\emc\Desktop\Ana\Plantillas provisionales informes\Anexo A - informe europeo PRUEBA.doc";
string path_copia = @"C:\Documents and Settings\emc\Desktop\Ana\Plantillas provisionales informes\AnexoACopia2.doc";
//string path_prueba = @"C:\Documents and Settings\emc\Desktop\Ana\Plantillas provisionales informes\PruebaAnexo-A.doc";
File.Copy(path_plantilla, path_copia, true);
MessageBox.Show("Copia plantilla ok");

Object oMising = System.Reflection.Missing.Value;
//creo objeto de la clse Anexo A
AnexoA objAnexoA = new AnexoA();
//----------------------------ABRIR FICHERO EXCELL CON
//tendre que controlar si el fichero no existe
string rutaExcel;
openFileDialog2.Title = "Seleccionar el archivo de muestras";
openFileDialog2.Filter = "Archivos xls|*.xls";
ArrayList ALMuestras = new ArrayList();
if (openFileDialog2.ShowDialog() == DialogResult.OK)
{

rutaExcel = openFileDialog2.FileName;
MessageBox.Show("La ruta es: " + rutaExcel);

//****Importa excel e inserta los datos en un array****\\

ALMuestras = objAnexoA.ImportaExcel();
MessageBox.Show("Importa Excell ok");





}

//----------------------------INSERTA TABLA MUESTRAS----------------------------------------------------------------------------

object param = path_copia;
//Abro Word
doc = objAnexoA.AbrirWord(param, oMising, ApWord);
Word.Range rng,rango;
Word.Table TablaMuestras,TablaContenedor,TablaElemPrinc;
Word.Table TablaAux;
//En el listBox1 estan todos los datos de la muestra, cada 7 lineas hay otra muestra
int lon = this.listBox1.Items.Count;
//Divido entre 7 para saber cuantas muestras hay en el listbox
int numeroM = lon / 7;

//extraemos el rango de la primera tabla que se tiene que insertar
int filaEliminar = 0;//contador que lleva el número de filas de la tabla contendor
string nombre = "Muestra";

rng = objAnexoA.BuscarRango(nombre, doc);

//**Inserto tabla contenedor**\\
//Esta tabla contendra todas las tablas que nesesita una muestra , porcada muestra necesitaremos 10 filas de la tabla contenedor
TablaContenedor = objAnexoA.InsertarTablaContenedor(numeroM*10, doc, rng, oMising);

//contador del listbox, cada 7 lineas hay una nuev muestra
contAnexoA = 0;

//**Copia del rango inicial**\\
rango = rng;
rango.Select();
//Muevo rango primera fila en una unidad de fila
object count = 1;
object unit = Word.WdUnits.wdRow;
rango.Move(ref unit, ref count);


//****Importa excel e inserta los datos en un array****\\
ArrayList ALMuestras = new ArrayList();
//RellenarExcel(ref ALMuestras); //Tengo que hacer un delegado o un evento!!!!!
try //AQUI ESTA EL PROBLEMA
{

AMuestras = objAnexoA.ImportaExcel();//EL ARCHIVO EXCELL QUE IMPORTO PUEDE DAR PROBLEMAS
MessageBox.Show("Importa Excell ok");
}
catch
{
ConectarForm3();//CON ESTO QUIERO CONECTAR A OTRO FORMULARIO DONDE QUIERO RECOGER DATOS
this.Hide();
F3.Show();
AMuestras = F3.AMuestrasOrigen;//AQUI SE RECOGEN LOS DATOS QUE VIENEN DEL OTRO FORMULARIO
MessageBox.Show("Importa Excell ok");

MessageBox.Show("ERROR CON EL EXCELL");
}
  #5 (permalink)  
Antiguo 14/05/2008, 06:31
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Re: Pasar Datos Entre Formularios

Porq no haces

if(F3.ShowDialog()==DialogResult.Ok)
{
AMuestras=F3.AMuestrasOrigen;
MsgBx....
}

asi garantizas hasta q lo cierren o den click en ok o cancelar en ese formulario q se continue con la siguiente instrucción
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #6 (permalink)  
Antiguo 19/05/2008, 04:44
 
Fecha de Ingreso: mayo-2008
Mensajes: 25
Antigüedad: 16 años
Puntos: 0
Respuesta: Re: Pasar Datos Entre Formularios

Cita:
Iniciado por Peterpay Ver Mensaje
Porq no haces

if(F3.ShowDialog()==DialogResult.Ok)
{
AMuestras=F3.AMuestrasOrigen;
MsgBx....
}

asi garantizas hasta q lo cierren o den click en ok o cancelar en ese formulario q se continue con la siguiente instrucción


Hola PeterPay!! Muchas gracias por tu respuesta , he estado probando y creo que me va a servir. Pero tengo una gran duda sobre como se usan los cuadros de diálogo. Lo que hace el if es que abre el formulario como si fuese un cuadro de diálogo y el valor devuelto por ese cuadro es ok cuando?? y en que lugar lo especifico en el otro formulario para que asi entre en el if y pueda pasar los datos que necesito????

Es que en ese tema estoy un poco verde y he buscado información pero no esta muy clara. Graciassss de nuevo
  #7 (permalink)  
Antiguo 19/05/2008, 04:52
 
Fecha de Ingreso: mayo-2008
Mensajes: 25
Antigüedad: 16 años
Puntos: 0
Respuesta: Re: Pasar Datos Entre Formularios

Cita:
Iniciado por amina Ver Mensaje
Hola PeterPay!! Muchas gracias por tu respuesta , he estado probando y creo que me va a servir. Pero tengo una gran duda sobre como se usan los cuadros de diálogo. Lo que hace el if es que abre el formulario como si fuese un cuadro de diálogo y el valor devuelto por ese cuadro es ok cuando?? y en que lugar lo especifico en el otro formulario para que asi entre en el if y pueda pasar los datos que necesito????

Es que en ese tema estoy un poco verde y he buscado información pero no esta muy clara. Graciassss de nuevo
Hola ota vez!! Para que quede mas claro yo tengo tres botones en el otro formulario : Aceptar (Inserta datos), Cancelar(BorraDatos) y Volver(Conecta con el Formulario principal). Según tu respuesta yo debería decirle de alguna forma en uno de estos botones que quiero volver al formulario F1 al cumplirse la condición del if?? Es así?? O lo he entendido mal??

Gracias y un saludo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:58.