2012-08-07 4 views
6

J'ai un fichier source C# unique nommé source.cs que je compile en utilisant CSharpCodeProvider d'un constructeur pour obtenir un exécutable.Comment créer un formulaire Windows par programme?

Je mettrais une option sur le constructeur pour afficher ou non le formulaire À propos du démarrage de l'application.

Comment puis-je créer un formulaire avec le titre comme A propos de nous ajoutons des contrôles à l'intérieur (étiquettes, etc .. RichTextEdit)

Quelque chose comme

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

Toute aide serait très appréciée

+5

'si (true condition ==)' doit être 'si (condition)' , rien à voir avec ta question, juste un petit point :) –

+0

Je veux faire une option sur le Builder que j'utilise pour compiler le fichier, que ce soit pour afficher le formulaire ou non. S'il est configuré pour afficher le formulaire, la boîte de dialogue s'affichera lors de l'exécution du fichier. ou Sinon, rien ne va apparaître après avoir cliqué sur le fichier –

+0

J'ai besoin de savoir comment puis-je afficher un formulaire en utilisant le code, parce que j'ai un seul fichier que je compile qui est source.cs –

Répondre

24

Essayez quelque chose comme ceci:

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

Comment faire la même chose dans NET 2.0; désolé j'ai oublié de mentionner .net2.0 dans les balises –

+0

Cela devrait fonctionner dans .Net 2 en utilisant le compilateur C# 3. Si vous n'avez pas de compilateur plus récent, vous ne pouvez pas utiliser le mot-clé var. Je vais modifier la réponse pour refléter cela. – 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 est une classe que vous pouvez instancier comme tout autre, définissez ses propriétés, appelez c'est des méthodes.

4

si vous avez une classe MyForm : System.Windows.Forms.Form (que vous créez à l'aide de fenêtres générateur de formulaire)

Vous pouvez faire

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

Pour lancer une instance de MonFormulaire.


Bien que si vous voulez créer une simple confirmation ou dialogue de message, consultez les nombreuses utilisations de MessageBox

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

C'est exactement ce dont j'ai besoin. Mais comment puis-je créer la classe en utilisant le concepteur, Copier le contenu de Form1.Designer.cs à source.cs et en utilisant le code ci-dessus dans la méthode principale est suffisant? –

+0

vous pouvez ajouter un nouvel élément à votre projet, et vous pouvez ajouter un formulaire Windows. Il génère automatiquement les fichiers dont vous avez besoin. Vous voudrez probablement faire le formulaire.Show code à l'intérieur de votre formulaire principal cependant, l'application va quitter si tout ce qu'il fait est afficher un nouveau formulaire. –

Questions connexes