子表单中的用户输入
本文关键字:用户 输入 表单 | 更新日期: 2023-09-27 18:10:50
我正试图从表单中获取值。我一直在尝试这个:如何从c#窗体返回值?
它不适合我,也许我做错了什么,但在第二部分。
using (var form = new frmImportContact())
{
var result = form.ShowDialog();
if (result == DialogResult.OK)
{
string val = form.ReturnValue1; //ReturnValue1 is not an option...
string dateString = form.ReturnValue2;
//Do something here with these values
//for example
this.txtSomething.Text = val;
}
}
我无法得到"ReturnValue1"显示。它被声明为公共的,我还需要做什么?
这是我所写的。我的子表单:
namespace ASPE.GUI.SensorWizard
{
public partial class PortsSensitivity : Form
{
public int ReturnValue1 { get; set; }
public PortsSensitivity()
{
InitializeComponent();
}
private void PortsBox_ValueChanged(object sender, EventArgs e, KeyPressEventArgs m)
{
this.ReturnValue1 = Convert.ToInt16(PortsBox.Value);
}
private void PortsSensitivity_Load(object sender, EventArgs e)
{
}
}
}
和我的主要形式:
//Show Form (Number of Ports, Sensitivity)
Form Part3 = new ASPE.GUI.SensorWizard.PortsSensitivity();
DialogResult dr3 = new DialogResult();
dr3 = Part3.ShowDialog();
//Write Variables
int numofports = Part3.ReturnValue1; //Not an option.
//Close Form
您的Part3
变量定义为类型Form
,不声明ReturnValue1
属性。(ReturnValue1
属性是在你的PortSensitivity
类上声明的)。
Form Part3 = new ASPE.GUI.SensorWizard.PortsSensitivity();
PortSensitivity Part3 = new ASPE.GUI.SensorWizard.PortsSensitivity();
你的第一个例子也在using语句中实例化了frmImportContact
类型的东西,但是你没有显示它的实现。检查您已经声明了此类型的属性(或者您不打算创建PortSensitivity
类型的实例)。