首页 > 解决方案 > 用不同的参数重新加载表单c#

问题描述

我对 C# 很陌生,我正在制作一个表单,当我按下按钮时需要重新加载,但输入不同。

public partial class Edit_Desloc : Form
{
    public Edit_Desloc(string id_desloc, string proj, string data, string horas)
    {
         ....
    }
}

我正在使用这个:

Edit_Desloc edit_desloc = new Edit_Desloc(list[0][0], list[4][0], list[1][0], list[3][0]);
edit_desloc.Show();

this.Close();

但这不是很好。

我不能重新加载表单而不是关闭它并再次打开吗?

标签: c#winformsvisual-studio-2010

解决方案


重构代码并创建一个LoadData与构造函数具有相同参数的函数,并将逻辑移至构造函数。然后在需要时调用该方法。

假设您有以下代码:

public partial class Edit_Desloc : Form
{
    public Edit_Desloc(string id_desloc, string proj, string data, string horas)
    {
        InitializeComponent();
        /* some other initialization based on parameters*/
    }
}

将其重构为以下内容:

public partial class Edit_Desloc : Form
{
    public Edit_Desloc(string id_desloc, string proj, string data, string horas)
    {
        InitializeComponent();
        LoadData(id_desloc, proj, data, horas);
    }

    public void LoadData(string id_desloc, string proj, string data, string horas)
    {
        /* some other initialization based on parameters*/
    }
}

然后LoadData通过传递参数在需要时调用。


推荐阅读