2012-08-07 38 views
6

我有一个独特的c#源文件,名为source.cs,我编译使用CSharpCodeProvider从生成器获取可执行文件。如何以编程方式创建窗体?

我会在构建器上放置一个选项,是否在应用程序启动时显示关于表单。

如何创建与标题形式,关于我们再内添加控件(标签,RichTextEdit等)

喜欢的东西

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

任何帮助将高度赞赏

+5

'许多用途,如果(真==条件)'应该是'如果(条件)' ,与你的问题无关,只是一点点:) – 2012-08-07 22:25:41

+0

我想在Builder中用来编译文件的选项,无论是否显示表单。如果它被设置为显示表单,则对话框将在文件执行时显示。否则,点击文件后将不会出现任何内容 – 2012-08-07 22:28:58

+0

我需要知道如何使用代码显示表单,因为我只有一个文件,我编译的是source.cs – 2012-08-07 22:29:43

回答

24

试试这样的:

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

如何在.NET 2.0中执行相同的操作;对不起,我忘了提及.net2.0的标签 – 2012-08-07 22:43:48

+0

这应该在.Net 2中使用C#3编译器。如果您没有更新的编译器,则不能使用var关键字。我将编辑答案来反映这一点。 – Dan 2012-08-07 22:45:23

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是可以实例像任何其他,设置它的属性,调用它的方法的类。

4

,如果你有一个类MyForm : System.Windows.Forms.Form(您创建使用Windows表单生成器)

你可以做

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

要启动MyForm的实例。


但如果你想创建一个简单的确认或者消息对话框,检查出的MessageBox

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

这正是我需要的待办事项。但我怎样才能使用设计器创建类,是否将Form1.Designer.cs的内容复制到source.cs并在主方法中使用上面的代码就足够了? – 2012-08-07 22:53:45

+0

您可以将新项目添加到您的项目,并且您可以添加一个Windows窗体。它会自动为您生成所需的文件。你可能想要做这个表单,但是在你的主表单里面显示代码,如果它只是显示一个新的表单,应用程序将退出。 – 2012-08-07 23:00:46