Autor
|
Tema: Llamar a un form y poner en espera la funcion que lo llamo... (Resuelto) (Leído 10,606 veces)
|
Zeroql
Desconectado
Mensajes: 957
Todo lo k sucede sucede por una razon
|
Buenas. pues es simplemente lo que dice el titulo resulta que tengo una funcion para guardado de datos, pero necesito llamar un form que me muestre otros datos para seleccionarlos. el punto es que los form son form hijos asi que no se puede usar el showdialog.
como puedo llamar al form y hacer k la operacion de la funcion se pause hasta que el form se descarge???
De ante mano muchas gracias.
|
|
« Última modificación: 27 Agosto 2010, 21:02 pm por Zeroql »
|
En línea
|
Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo. /.-ZEROQL.-\ ----- #937675#
|
|
|
[D4N93R]
Wiki
Desconectado
Mensajes: 1.646
My software never has bugs. Its just features!
|
No puedes usar ShowDialog? Pues puedes hacer que el form (en donde pides los otros datos para seleccionar) no sea hijo del otro, sino que sea Modal,llamando SHowDialog, y ya,.. debería ser la vía, a menos de que no haya entendido tu pregunta De todos modos si quieres detener la ejecución hasta que pase algo, puede usar AutoResetEvent. Saludos!
|
|
|
En línea
|
|
|
|
Zeroql
Desconectado
Mensajes: 957
Todo lo k sucede sucede por una razon
|
No puedo usar showdialog, por que el form tambien hace parte de un mdiparent, y me tira error al llamaro con showdialog. autoResetEven, no me sirve, avanza normalmente la funcion que llama al form. alguien tiene otra idea?
|
|
|
En línea
|
Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo. /.-ZEROQL.-\ ----- #937675#
|
|
|
seba123neo
|
Hola, proba esto en un boton del form padre.... Dim vFormHijo As New FormHijo vFormHijo.MdiParent = Me.MdiParent vFormHijo.ShowDialog() MsgBox("Cerraste el form")
saludos.
|
|
|
En línea
|
|
|
|
43H4FH44H45H4CH49H56H45H
Wiki
Desconectado
Mensajes: 502
|
No puedo usar showdialog, por que el form tambien hace parte de un mdiparent, y me tira error al llamaro con showdialog. autoResetEven, no me sirve, avanza normalmente la funcion que llama al form. alguien tiene otra idea?
Puedes declarar variables bool por ejemplo: public bool form2Cerrado = false;
private void Form2_FormClosed(object sender, FormClosedEventArgs e) { form2Cerrado = true; }
Y utilizas el primer formulario para saber si esta cerrado o no, luego de cerrarse el form2 envias el valor de una variable (puede ser bool) al formulario que necesitaba esperar a que se cierre en "form2" para que continue su trabajo. Es una forma "cutre" de hacerlo pero se ajusta a lo que pides, por otro lado deberias revisar (replantear) el diseño de tu programa, no deberias necesitar utilizar los form de esa manera.
|
|
|
En línea
|
-R IP :0100 -A 100 2826:0100 MOV AH,09 2826:0102 MOV DX,109 2826:0105 INT 21 2826:0105 MOV AH,08 2826:0105 INT 21 2826:0107 INT 20 2826:0109 DB 'MI NICK ES CODELIVE.$' 2826:0127 -R BX :0000 -R CX :20 -N CODELIVE.COM -W
|
|
|
Zeroql
Desconectado
Mensajes: 957
Todo lo k sucede sucede por una razon
|
seba123neo ya intente tu propuesta y tira el siguiente error
Un formulario que no es de nivel superior no se puede mostrar como un cuadro de diálogo modal. Quite el formulario de los formularios primarios que lo contengan antes de llamar a showDialog.
43H4FH44H45H4CH49H5 ti digo que eso de la varible es interesante, pero como la controlo en la funcion???
heee resulta kelo llamo en modal por la razon de que la funcion que lo llama es de datos y el form es para agregar nuevos datos, cuando devuelve el control a la funcion debe recargar la lista de datos con el agregado por el form. por eso ese diseño
|
|
|
En línea
|
Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo. /.-ZEROQL.-\ ----- #937675#
|
|
|
43H4FH44H45H4CH49H56H45H
Wiki
Desconectado
Mensajes: 502
|
Bueno de pasada, mira este code: Form1 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace Ventanas { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { f2.Show(); f3.Show(); timer1.Start(); } private void timer1_Tick(object sender, EventArgs e) { if (f2.form2Closed) { timer1.Stop(); f3.setText("Form2 Closed"); f2.form2Closed = false; } } } }
Form2 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace Ventanas { public partial class Form2 : Form { public bool form2Closed = false; public Form2() { InitializeComponent(); } private void Form2_FormClosed(object sender, FormClosedEventArgs e) { form2Closed = true; } } }
Form3 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace Ventanas { public partial class Form3 : Form { public Form3() { InitializeComponent(); } public void setText(string value) { label1.Text = value; } } }
Simplemente en el form1 hay un button que muestra el form2 y el form3 cuando se cierra el form2 se accede desde el form1 a setText(string value) del form3 y cambiamos el contenido del label1 (no cambie directamente el contenido del label para mostrar como hacerlo en otro caso). Ahora puedes hacer algo similar para pausar una tarea u otra cosa. Eso ya depende de lo que hagas, lo del timer puede suprimirse pero creo que es lo mas sencillo de hacer.
|
|
|
En línea
|
-R IP :0100 -A 100 2826:0100 MOV AH,09 2826:0102 MOV DX,109 2826:0105 INT 21 2826:0105 MOV AH,08 2826:0105 INT 21 2826:0107 INT 20 2826:0109 DB 'MI NICK ES CODELIVE.$' 2826:0127 -R BX :0000 -R CX :20 -N CODELIVE.COM -W
|
|
|
Zeroql
Desconectado
Mensajes: 957
Todo lo k sucede sucede por una razon
|
Muchas gracias por el code 43H4FH44H45H4CH49H5 pero solucione todo de una forma mas facil. usando una variable global que cuando se llame form este es true, y al cerrar le form este comprueba si es true, si es asi, que recarge lo que necesito.... igual a todos muchas gracias por su tiempo, y dedicacion, espermos que a alguien que tambien necesite lo mismo le puedan servir los codes y ayudas propuestos., igual tambien me puede servir en otro programa que tengo empezado el code...
|
|
|
En línea
|
Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo. /.-ZEROQL.-\ ----- #937675#
|
|
|
seba123neo
|
perdona no me di cuenta que lo abre fuera del padre...
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[Ayuda] Se Puede Saber desde que Form Se Llamó a la Función De un Modulo?
Programación Visual Basic
|
agus0
|
6
|
4,739
|
8 Diciembre 2010, 12:35 pm
por Hans el Topo
|
|
|
[RESUELTO] Llamar a un tag custom (class,style pues estilo)
Desarrollo Web
|
Servia
|
0
|
1,754
|
29 Mayo 2011, 20:45 pm
por Servia
|
|
|
Emular una funcion de una cadena(Resuelto)
« 1 2 »
Programación C/C++
|
Dark Invader
|
16
|
6,871
|
5 Julio 2011, 01:02 am
por Dark Invader
|
|
|
[Resuelto] Como llamar a una función php desde ajax
PHP
|
yoelrodguez
|
2
|
3,897
|
12 Mayo 2015, 01:06 am
por yoelrodguez
|
|
|
[C#] Llamar Form que se agrego de un programa ya existente.
.NET (C#, VB.NET, ASP)
|
Ruben_efl18
|
2
|
2,084
|
28 Mayo 2016, 05:17 am
por Eleкtro
|
|