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文件,它说无法找到类型或命名空间,我是以错误的方式做的吗?
答案 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;