C#直接从代码打开表单并获取输入

时间:2016-02-11 16:09:50

标签: c#

C#newbie here,我想知道是否有办法在运行时打开表单,从中获取输入,然后关闭它。我试图在运行时将其创建为对象,但无法访问它。

var myForm1 = new myForm();
myForm1.Show();

但是,虽然我将表单创建为另一个.cs文件,但我收到一个语法错误,说它无法找到。我错过了什么?或者我应该使用除表单之外的其他内容吗?

编辑:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace ert
{
    public partial class ConnectionForm: Form
    {
        public BaglantiBilgileri()
        {
            InitializeComponent();
        }
    }
}

这是我的表单代码,我已将其创建为单独的form.cs文件

var myForm = new ConnectionForm();

这是在我的主要执行代码块中,它是一个单独的.cs文件,它说无法找到类型或命名空间,我是以错误的方式做的吗?

2 个答案:

答案 0 :(得分:1)

请提供您收到的错误消息。无论如何,在运行时打开表单并在检索到某些数据时关闭它可以这样做:

using(Form myForm1 = new myForm())
{
    //Initialize the components of your form

    DialogResult result = myForm1 .ShowDialog();
    if(result == DialogResult.OK)
    {
       //return whatever it is you want to return 
       //for example via a getter inside of myForm1
    }
}

关闭表单时会自动设置表单的DialogeResult,但您也可以从表单内部以编程方式设置它:

this.DialogResult = DialogResult.OK

发生特定事件后,会让您知道何时检索数据。

答案 1 :(得分:1)

您需要将波纹管线添加到主窗体:

using ert;