Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > .NET
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-12-2005
[Gunman] [Gunman] is offline
Miembro
 
Registrado: dic 2004
Ubicación: Pedreguer.
Posts: 355
Poder: 20
[Gunman] Va por buen camino
Y sin .Create no se puede?
__________________
l2prog.co.nr
Responder Con Cita
  #2  
Antiguo 30-12-2005
SMTZ SMTZ is offline
Miembro
 
Registrado: nov 2003
Posts: 225
Poder: 21
SMTZ Va por buen camino
Hay otra manera pero tampoco funciona

En vez de Crete, se puede utilizar ActiveForm, pero es que no puedes forzar a que el formulario activo sea el que tu quieras, sino el que es el que ya está activo.
Responder Con Cita
  #3  
Antiguo 02-01-2006
Avatar de edgusano
edgusano edgusano is offline
Miembro
 
Registrado: abr 2004
Ubicación: Medellin Colombia
Posts: 180
Poder: 21
edgusano Va por buen camino
Me imagino que en .Net debe haber un contenedor de controles a nivel de aplicacion, asi accediendo a este se podria preguntar si esta creado y asi activarlo en vez de crearlo, esto lo he hecho en aplicacion mdi, pero el contenedor lo tiene el form padre, pero en tu caso no es MDI, pero supongo que debe haber un contenedor de nivel superior es decir aplicacion, en fin buscare y si algo pos aqui te coloco el post
__________________
Optimus Prime
Responder Con Cita
  #4  
Antiguo 03-01-2006
BenjiRock BenjiRock is offline
Registrado
 
Registrado: may 2003
Ubicación: Málaga
Posts: 4
Poder: 0
BenjiRock Va por buen camino
No he entendido bien tu pregunta, pero si lo que quieres es traer una ventana, ya creada, al frente es asi:

public void MakeOnTop()
{
Form1.TopMost = true;
}

esta informacion esta sacada de la msdn.
http://msdn.microsoft.com/library/spa/default.asp

Busca:

Mantener un formulario Windows Forms en primer plano.
Responder Con Cita
  #5  
Antiguo 03-01-2006
SMTZ SMTZ is offline
Miembro
 
Registrado: nov 2003
Posts: 225
Poder: 21
SMTZ Va por buen camino
Post No es eso

No, lo que intento hacer es poner en "enable = true", por ejemplo, un form ya creado pero que no está activo desde .NET.
Responder Con Cita
  #6  
Antiguo 03-01-2006
SMTZ SMTZ is offline
Miembro
 
Registrado: nov 2003
Posts: 225
Poder: 21
SMTZ Va por buen camino
Post Vuelvo a explicarlo

Hola, creo que en los posts anteriores no me he explicado del todo bien, por eso vuelvo a explicar el problema que tengo desde el principio. Imaginemos dos unidades. La unidad 1 contiene un formulario que quiero activar desde la unidad 2.

Código:
UNIDAD1
=======

type
  TWinForm = class(System.Windows.Forms.Form)
  {$REGION 'Designer Managed Code'}
  strict private
    Components: System.ComponentModel.Container;
    procedure InitializeComponent;
  {$ENDREGION}
  strict protected
    /// <summary>
    /// Clean up any resources being used.
    /// </summary>
    procedure Dispose(Disposing: Boolean); override;
  private
    { Private Declarations }
  public
    constructor Create;
  end;
Código:
UNIDAD2
=======

...

uses unidad1; // Para que pueda llamar al TWinForm de la Unidad1.

...

Begin
//Imaginemos que pulso un botón y muestro la TWinForm de la unidad1

TWinForm.Create.Show;

end;

...


Begin

//Ahora imaginemos que ya tenemos el formulario creado pero quiero poner su propiedad enable a false.


TWinForm.Enable := False; // Esta línea de un error al compilar porque dice que la propiedad enable no está definida. La cosa iría como se especifica en la siguiente línea.

TWinForm.Create.Enable := False; // Pero esta línea no pone el formulario ya creado en enable, ya que volvemos a llamar a create para que se cree otro formulario y no se actua sobre el que ya está creado.

End;
La posibilidad que he encontrado para solucionar este problema es:

Código:
Unidad2
======

...

Var
   Form1 : TWinForm;

Begin

   Form1.Create.Show;
   Form1.Enable := True; // Esta vez, esta línea sí que se puede compilar y con esto quedaría el problema que planteo solucionado.

End;

...
Pero ahora imaginemos que el form sobre el que quiero actuar es el principal, el que se crea por defecto al arrancar la aplicación y no se llama a través de ninguna variable. No he encontrado ninguna solución para poder actuar sobre la propiedad Enable del formulario principal.


Un saludo.
Responder Con Cita
  #7  
Antiguo 16-01-2006
Athanatos Athanatos is offline
Miembro
 
Registrado: ago 2005
Posts: 33
Poder: 0
Athanatos Va por buen camino
Bueno, ahora estoy trabajando con csharp... pero algo tendra en comun con delphi.net. :P

El form principal es creado con un "new", asi que no tenemos nada con que hacer referencia por separado, asi que lo defini primero como objeto:

Este codigo hay que agregarlo en el main (en delphi win32 tambien existe un .pas principal con contenido equivalente. )
Código:
        /// <summary>
        /// The main entry point for the application.
        /// </summary>

        static public TWelcomeForm WelcomeForm;
y luego antes de correr la aplicacion lo creo:
Código:
            WelcomeForm = new TWelcomeForm();
            Application.Run(WelcomeForm);
Lo mismo para todos los formularios, a la manera que lo hace delphi win32: Define los objetos, los crea todos y luego los oculta y muestra segun el caso.

Por ejemplo para mostrar otra ventana y ocultar la actual:
Código:
            Hide();
            MainProgram.MiOtroForm.Show();
Espero que esto mismo que funciona en csharp funcione en delphi.net

Última edición por Athanatos fecha: 16-01-2006 a las 21:43:25.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 15:46:57.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi