2010-03-20 27 views
6

Estoy comenzando mi primer proyecto de C#, y quiero hacer un "diseñador de formularios" (como el de VS).¿Cómo puedo crear mi propio diseñador de formularios?

La idea es que habrá un diseñador visual de formularios con una caja de herramientas limitada, que generará el código Python (más tarde más) para crear el mismo formulario.

El problema es que no tengo ni idea de cómo empezar. Antes que nada, tengo el diseñador de formularios en VS: ¿cómo hago un "formulario dentro de un formulario"?

Siguiente ... No tengo idea de lo complicado que va a ser esto. Supongo que podría hacer que aparezcan pequeñas casillas junto a cada control creado en el formulario cuando se hace clic para cambiar el tamaño y hacer que aparezca un cuadro de texto al hacer doble clic o algo así, para cambiar el texto ... Cosas como esta.

Así pues, otra cosa que me gustaría saber es esto:
Tengo experiencia en programación en PHP C y C++, que he hecho por un número de años y estoy empezando con Python desde hace poco. He generado formularios dinámicamente en VB6. Dada esta experiencia, ¿estoy muy por encima de mi cabeza con este proyecto?

+0

¿Está describiendo un proyecto en tiempo de ejecución de C# que simula una interfaz de usuario para crear WinForms aquí que luego traducirá "debajo del capó" en Python? O bien, ¿estás hablando de alguna interfaz de usuario en tiempo de diseño? – BillW

+0

El primero, creo. –

Respuesta

5

this parece un muy buen lugar para comenzar. Tiene un buen ejemplo para comenzar. Incluso puedes descargar su fuente (es necesario registrarse).

+0

Genial, echaré un vistazo a este código.Estoy seguro de que podré resolverlo a partir de esto - gracias –

3

Parece que es consciente de que no es trivial para un primer temporizador de C#. Si lo mantienes bastante simple, parece que estás yendo en la dirección correcta (aunque un diseñador de formularios basado en la web podría ser más fácil).

SharpDevelop sería un ejemplo de un IDE con todas las funciones que se puede reutilizar, pero eso es demasiado exagerado.

¡Buena suerte!

+0

¿Alguna idea de cómo dibujaría un formulario dentro de un formulario, como en el diseñador de formularios de VS? En este momento estoy jugando con la idea de tener una ventana principal MDI y las ventanas secundarias serán "editables" ... lo que podría funcionar. Supongo –

+0

@Carson VS Form Designer no te permite colocar/dibujar un Formulario visualmente dentro de otro Formulario en el momento del diseño: en el modelo MDI, debe configurar el MdiParent en el código, y no "verá" el formulario MdiChild hasta que ejecute el programa. UserControls, e incluso los "controles derivados" que descienden de los controles de WinForms como TreeView y ListView: aparecerán en la caja de herramientas de tiempo de diseño: pero no en los formularios. Sí, por supuesto, en el tiempo de ejecución, puede moverse por los formularios de MdiChild que ha creado, sin embargo. – BillW

+0

bien, esto es lo que estaba pensando. Eche un vistazo al enlace en la respuesta aceptada: este es mi objetivo, fue escrito en C#: ¿se puede hacer esto con el diseñador de formularios o es solo una configuración de MDI que se ha modificado? –

3

Para la mayoría de las personas que comienzan en C#, este proyecto sería demasiado. Sin embargo, con su fondo VB6, es posible que pueda lograrlo.

Aquí hay una pista: el diseñador de Windows Forms de Visual Studio dibuja controles en su superficie, pidiendo a los controles que dibujen ellos mismos.

+0

He hecho algo similar en VB6, donde se generaron formularios basados ​​en scripts. Estaba confundido acerca de poner formularios en otras formas, no estoy seguro de cómo interpretar el último punto, supongo que se aclarará una vez que entiendo un poco más sobre el proceso. –

+0

@Carson: preguntaste cómo dibujar en el formulario; respondí que deberías obtener los controles que colocaste en el formulario para dibujar. Familiarícese con los métodos y las propiedades de la clase 'Control'. –

+0

Bien, lo haré, gracias por el consejo –

Cuestiones relacionadas