【发布时间】:2022-01-19 14:36:50
【问题描述】:
我想用 Visual Studio 做一个关于我的小测验。我的目标是每个问题有 10 个问题和 4 个选择。我尝试堆叠按钮,然后在不同时间更改 10 个标签,它变得有点复杂......使用数组或/和循环我怎样才能提高效率?这就是我所拥有的
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.WindowState = FormWindowState.Maximized
Form1.Visible = False
Button2.Visible = False
Button3.Visible = False
Button4.Visible = False
Button5.Visible = False
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If RadioButton4.Checked = True Then
Label3.Text = "1/10"
Label4.Text = "Nice! That was Correct!
Great job!"
Label4.ForeColor = Color.LimeGreen
End If
If Label3.Text = "1/10" Then
Button2.Visible = True
End If
If RadioButton1.Checked = True Or RadioButton2.Checked = True Or RadioButton3.Checked = True Then
Label4.ForeColor = Color.DarkRed
Label4.Text = "Oh no! that was incorrect!
Try Again!"
End If
Button2.Text = "next"
End Sub
Private Sub Button2_click(sender As Object, e As EventArgs) Handles Button2.Click
Label1.Text = "What is Luke Lopez's favorite color?"
RadioButton4.Checked = False
RadioButton1.Text = "Purple"
RadioButton2.Text = "Burgundy"
RadioButton3.Text = "Turqoise"
RadioButton4.Text = "Brown"
If RadioButton1.Checked = True Then
Label3.Text = "2/10"
Label4.Text = "Nice! That was Correct!
Great job!"
Label4.ForeColor = Color.LimeGreen
End If
If Label3.Text = "2/10" Then
Button4.Visible = True
End If
If RadioButton3.Checked = True Or RadioButton2.Checked = True Or RadioButton4.Checked = True Then
Label4.ForeColor = Color.DarkRed
Label4.Text = "Oh no! that was incorrect!
Try Again!"
End If
Button2.Text = "check"
Button4.Text = "next"
If Label3.Text = "2/10" Then
Button3.Text = "next"
Button4.Text = "Check"
End If
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
Button3.Visible = False
Label1.Text = "What is Luke Lopez's shoe size?"
RadioButton1.Checked = False
RadioButton1.Text = "7"
RadioButton2.Text = "8.5"
RadioButton3.Text = "7.5"
RadioButton4.Text = "8"
Button3.Visible = False
If RadioButton2.Checked = True Then
Label3.Text = "3/10"
Label4.Text = "Nice! That was Correct!
Great job!"
Label4.ForeColor = Color.LimeGreen
End If
If Label3.Text = "3/10" Then
Button5.Visible = True
Button4.Visible = False
Button3.Visible = False
Button2.Visible = False
Button1.Visible = False
End If
If RadioButton1.Checked = True Or RadioButton4.Checked = True Or RadioButton3.Checked = True Then
Label4.ForeColor = Color.DarkRed
Label4.Text = "Oh no! that was incorrect!
Try Again!"
End If
End Sub
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
End Sub
这是我的前三个问题,所有的按钮、标签和单选按钮都会检查和更改每次点击,但我需要提高效率,因为我不想在这个迷你项目上浪费大量时间和计算机内存.
【问题讨论】:
-
他对高效编码提出了一些建议。 1)给你的变量和控件提供有用和有意义的名字,它增加了可读性,使调试等更有效。 2) 除非你真的有充分的理由,否则追求效率往往效率低下。您可能会发现在这种情况下处理数组的所有开销都比您拥有的编码使用更多的资源。 3)在可能的情况下,使用Lists over Arrays,处理起来更简单
-
4) 当今的计算机拥有如此多的可用资源,但往往没有,任何延迟的原因都是坐在椅子上驱动它
-
最后一点,codereview.stackexchange.com 专门用于处理改进代码。你可能会在那里得到一些建议
-
将你的问题和答案存储在代码中并不是一个好的设计。数据(问题和答案)应该与代码分开。代码将操纵数据。您不必使用数据库。您可以将数据存储在您在记事本中编写的文本文件中。
-
检查是否有任何答案可以帮助您处理此问题,如果有帮助,请考虑 accepting it。如果没有,请在此处提供更多详细信息。
标签: arrays vb.net visual-studio