2012-08-07 14 views
6

Tengo un único archivo fuente C# llamado source.cs que compilo usando CSharpCodeProvider de un constructor para obtener un ejecutable.¿Cómo creo programáticamente un formulario de Windows?

Pondría una opción en el constructor ya sea para mostrar el formulario Acerca de al inicio de la aplicación o no.

¿Cómo puedo crear un formulario con título como Sobre Nosotros a continuación, añadir controles dentro (etiquetas, etc .. RichTextEdit)

Algo así como

if (display_about_dialog) { 
// code to display the form } 

Cualquier ayuda sería muy apreciada

+5

'si (condición verdadera ==)' 'debería ser si (condición)' , nada que ver con su pregunta, solo un pequeño punto :) –

+0

Quiero hacer una opción en el generador que utilizo para compilar el archivo, ya sea para mostrar el formulario o no. Si está configurado para mostrar el formulario, el diálogo aparecerá cuando se ejecute el archivo. o bien, no aparecerá nada después de hacer clic en el archivo –

+0

. Necesito saber cómo puedo mostrar un formulario usando Código, porque solo tengo un archivo que compilo que es source.cs –

Respuesta

24

intentar algo como esto:

using (Form form = new Form()) 
{ 
    form.Text = "About Us"; 

    // form.Controls.Add(...); 

    form.ShowDialog(); 
} 

Here's the documentation page for the System.Windows.Forms.Form class.

+0

Cómo hacer lo mismo en NET 2.0; lo siento, me olvido de mencionar .net2.0 en las etiquetas –

+0

Esto debería funcionar en .Net 2 utilizando el compilador C# 3. Si no tiene un compilador más nuevo, no puede usar la palabra clave var. Editaré la respuesta para reflejar esto. – Dan

2
Form aForm = new Form(); 

aForm.Text = @"About Us"; 
aForm.Controls.Add(new Label() {Text = "Version 5.0"}); 
aForm.ShowDialog(); // Or just use Show(); if you don't want it to be modal. 
1

Form es una clase que se puede crear una instancia como cualquier otro, establecer sus propiedades, lo llaman sus métodos.

4

si tiene una clase MyForm : System.Windows.Forms.Form (que se crea utilizando ventanas creador de formularios)

Usted puede hacer

MyForm form = new MyForm(); 
form.Show(); 

Para iniciar una instancia de MiFormulario.


Aunque si desea crear una confirmación simple o de diálogo del mensaje, echa un vistazo a los muchos usos de MessageBox

MessageBox.Show("text"); 
MessageBox.Show("text", "title", MessageBoxButtons.OKCancel); 
+0

Eso es exactamente lo que necesito todo. Pero ¿cómo puedo crear la clase usando el diseñador? ¿Es suficiente copiar el contenido de Form1.Designer.cs a source.cs y usar el código anterior en el método principal? –

+0

puede agregar un nuevo elemento a su proyecto y puede agregar un formulario de Windows. Genera los archivos que necesita automáticamente para usted. Probablemente quiera hacer el formulario. Sin embargo, si muestra el código dentro de su formulario principal, la aplicación se cerrará si todo lo que hace es mostrar un nuevo formulario. –

Cuestiones relacionadas