问题 处理多个按钮的更智能方法?

ConsKa

知名会员
已加入
2020年12月11日
留言内容
85
编程经验
Beginner
因此,在这里问了最后一个问题之后,我设法删除了1000行代码...。

所以以为我会问这个问题,看看是否有更聪明的方法来查看是否可以进一步减少代码。

我的表单有24个按钮。当前,每个button_click事件都有一个单独的条目和代码-其中一些非常简单:

C#:
private void sd1but_Click(object sender, EventArgs e)
        {
            sdNobox.Text = HoldSD1.Text;
            hcodbox.Text = HoldCode1.Text;
            projtbox.Text = HoldProj1.Text;
            descbox.Text = desctbox1.Text;
        }

这只是将文本恢复到我需要的位置,以便程序在不同的按钮上按该键操作该数据。

不太有问题,但是下一组按钮具有以下代码:

C#:
private void resbut1_Click(object sender, EventArgs e)
        {
            string data = HoldSD1.Text + "," + HoldCode1.Text + "," + HoldProj1.Text + "," + HoldTime1.Text + "," + desctbox1.Text;
            string[] Lines = File.ReadAllLines("../../../dataset1.txt");
            File.Delete("../../../dataset1.txt");// Deleting the file
            using (StreamWriter sw = File.AppendText("../../../dataset1.txt"))
            {
                foreach (string line in Lines)
                {
                    if (line.IndexOf(data) >= 0)
                    {
                        continue;
                    }
                    else
                    {
                        sw.WriteLine(line);
                    }
                }
            }
            HoldSD1.Text = "";
            HoldCode1.Text = "";
            HoldProj1.Text = "";
            HoldTime1.Text = "";
            desctbox1.Text = "";
        }

这段代码实际上从txt文件中删除了文本行,因此当我重新加载程序时,它将从该txt文件中读取并仅重新加载那些尚未删除的项目-我还有另一个txt文件,其中包含所有条目供以后评估。

每个按钮有12个,每个以1到12结尾。

所有这些都有效,但是我想知道是否有一种更聪明的方式来处理这样的多个按钮,以查看是否可以减少所创建的代码?如果有帮助,我可以创建按钮并将其添加到“面板”中,但不确定是否可以?

很高兴去研究,但不知道我现在要寻找什么。
 

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,536
地点
弗吉尼亚州切萨皮克
编程经验
10+
从头到尾,将控件分组为用户控件听起来是个更好的主意。因此,您只有12个用户控件,并且只需为进入用户控件的2个按钮中的每个按钮编写一次按钮处理程序,而不是为24个按钮处理程序编写一次。

否则,请使用采用简单DTO(数据传输对象)的结构/类的辅助方法。然后创建这些DTO的12个实例。在您的24个按钮处理程序中,您只需传递适当的DTO。
 
最佳 底部