Winforms添加/编辑表单的最佳实践

时间:2013-04-11 17:25:51

标签: c# winforms

我在.NET C#WINFORMS下学习开发

我有将教师添加到数据库的形式。

现在我需要制作一个表格来编辑老师。

为此目的创建不同的表单是正常的吗?因为它具有相同的控件,所以可能只是调用添加教师的相同形式,但是将数据加载到控件,并将按钮从ADD更改为SAVE?

在web developpement(php)中,我使用相同的表单来编辑/添加数据,因为处理这种行为并不太难。但我不确定这种做法是不是很好的窗体编程。

这里添加的形式。如果我再次使用这个表格进行编辑,恐怕以后很难维护这段代码。

TNX。

This form

5 个答案:

答案 0 :(得分:2)

imo是的,你应该重复使用相同的形式......长期维护的代码少

编辑:因为imp0ssible说如果它是主要形式

,这是不可能的

只需制作2个构造函数,以便您知道是否要添加或编辑教师

答案 1 :(得分:2)

这种形式是主要形式吗? 如果不是,您可以为此表单(添加,编辑,...)调用不同的构造函数

答案 2 :(得分:1)

我通常会使用相同的表单来解决这个问题。为清楚起见,我不会重新标记按钮,而是使用不同的标题和/或其他清晰的标题来指示用户是在添加还是更新。

答案 3 :(得分:0)

 Reproduktor rep;
    public Edit(Reproduktor rep)
    {
        InitializeComponent();
        this.rep = rep;
        comboBox1.SelectedIndex = comboBox1.FindStringExact(rep.typSoustavy);
        if (comboBox1.SelectedIndex == 0)
        {
            txtFl.Text = (rep as Reproduktor).fl.ToString(); //+fr
        }
        else if(comboBox1.SelectedIndex ==1)
        {
            txtSub.text blablabla 
        }
        else if(comboBox1 ==2)
        { }
        textBox1.Text = rep.vyrobce;
        textBox2.Text = rep.nazev;
        //cena.tostring
        comboBox1.SelectedIndex = comboBox1.FindStringExact(rep.bluethoot);
    }

    private void buttonStorno_Click(object sender, EventArgs e)
    {
        DialogResult = DialogResult.Cancel;
        this.Close();
    }

答案 4 :(得分:0)

另一个构造函数可以工作,这样您可以根据需要知道要启用或禁用的控件,这是最简单的方法,并且您将重复使用相同的表单/代码。