在进行winform窗体间互操作的时候,往往需要进行参数的传递。
本人遇到的问题是:在窗口1中读取到了部分文件路径{path1,path2...},这些文件路径在窗口2中也需要使用,因此需要将这些路径传递到窗口2中。
其中一种解决方案是,创建一个公共类ParaList用于参数传递,在窗口1中首先将读取到的参数存储在实例化的ParaList 对象 paralist中。然后在窗口2的构造函数中,将ParaList作为参数参入,并在窗口2实例化后赋值对应参数。过程如下所示:
1、主界面类(窗口1)
public partial class MainUpdate : Form //主界面
{
ParaList paraList = new ParaList();//参数列表
public MainUpdate()//
{
InitializeComponent();//主界面初始化
}
}
2、参数类
public class ParaList //参数类
{
public string ConfigFilePath { set; get; }//参数1
public string FclsUIDField { set; get; } //参数2
public string LayerNameFilePath { set; get; }//参数3
public string FclsUpdateField { set; get; }//参数4
public string FclsCodeField { set; get; }//参数5
}
3、窗口2类
public partial class LineSimplify_Del_Form : Form //窗口2类
{
private ParaList paraList0; //参数列表
public LineSimplify_Del_Form() //不带参数列表的构造函数
{
InitializeComponent();
}
public LineSimplify_Del_Form(ParaList paraList) //带参数列表的构造函数
{
InitializeComponent();
this.paraList0 = paraList; //参数赋值
}
4、在主窗体(窗口1)中实例化窗口2
private void Line_Depoint_Click(object sender, EventArgs e)
{
LineSimplify_Del_Form lineSimplify_Del_Form = new LineSimplify_Del_Form(paraList);
lineSimplify_Del_Form.Show();
}
传参完成!