我目前正在使用visual basic来创建一个项目,并且卡在某一点上...... 一旦选定的操作完成,我试图回到某一点。 如果可能,我想重复Button1_Click子。 到目前为止,这是我的代码。
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Button1.Text = ("Transfer")
TextBox1.Text = ("This program only allows the use of one application at a time in order to prevent corrupt files etc.")
CheckBox1.Show()
CheckBox2.Show()
CheckBox3.Show()
CheckBox4.Show()
If CheckBox1.Checked Then
CheckBox2.Enabled = False
CheckBox3.Enabled = False
CheckBox4.Enabled = False
TextBox2.Show()
TextBox2.Text = ("Completed without any faults : If error occurs resort to readme in download file.")
Button1.Text = ("Quit")
End If
If CheckBox2.Checked Then
CheckBox1.Enabled = False
CheckBox3.Enabled = False
CheckBox4.Enabled = False
TextBox2.Show()
TextBox2.Text = ("Completed without any faults : If error occurs resort to readme in download file.")
Button1.Text = ("Quit")
End If
If CheckBox3.Checked Then
CheckBox1.Enabled = False
CheckBox2.Enabled = False
CheckBox4.Enabled = False
TextBox2.Show()
TextBox2.Text = ("Completed without any faults : If error occurs resort to readme in download file.")
Button1.Text = ("Quit")
End If
If CheckBox4.Checked Then
CheckBox2.Enabled = False
CheckBox3.Enabled = False
CheckBox1.Enabled = False
TextBox2.Show()
TextBox2.Text = ("Completed without any faults : If error occurs resort to readme in download file.")
Button1.Text = ("Quit")
End If
End Sub
答案 0 :(得分:3)
您已经在该点击处理程序中实现了太多功能,请停在那里!
你需要在这里重构一下 - 为这部分提取方法:
TextBox2.Show() TextBox2.Text = ("Completed without any faults : If error occurs resort to readme in download file.") Button1.Text = ("Quit")
然后使用方法调用替换该代码段的所有副本。
然后为您拥有的每个块提取另一种方法 - 并将它们命名为。
考虑重命名控件/按钮 - 稍后再感谢:)
当你完成后,你的点击处理程序应该像一个发生了什么的高级摘要,而不是像1997年写的单片脚本 - 因为那是你的执行流程感觉就像现在一样。
为您希望代码执行的每个单个编写一个方法,然后调用这些方法。简单!
如果您的代码执行了它应该执行的操作(即按预期工作),并且看起来混乱,混乱且效率低下,请考虑下次询问Code Review!