Eh bien parfois, je crois que je suis trop compliqué ou que je suis fatigué de penser trop ou quelque chose d'autre que vous pourriez pointer. Je suis en train de copier le pager trouvé dans YouTube pour une de mes applications Windows Forms.Est-ce que je pense trop compliqué? Comment puis-je simplifier ce morceau de code?
Et voici ce que je l'ai fait jusqu'à présent:
Private Sub btnPrevious_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrevious.Click, btn1.Click, btn2.Click, btn3.Click, btn4.Click, btn5.Click, btn6.Click, btn7.Click, btnNext.Click
If sender.text = "previous" Then
SelIndex -= 1
ElseIf sender.text = "next" Then
SelIndex += 1
Else
If sender.text > SelIndex Then
If sender.name = "btn5" OrElse sender.name = "btn6" OrElse sender.name = "btn7" Then
btn1.Text += 1
btn2.Text += 1
btn3.Text += 1
btn4.Text += 1
btn5.Text += 1
btn6.Text += 1
btn7.Text += 1
SelIndex = btn4.Text
Else
SelIndex = sender.text
End If
ElseIf sender.text < SelIndex Then
If sender.name = "btn1" OrElse sender.name = "btn2" OrElse sender.name = "btn3" Then
If btn1.Text <> "1" Then
btn1.Text -= 1
btn2.Text -= 1
btn3.Text -= 1
btn4.Text -= 1
btn5.Text -= 1
btn6.Text -= 1
btn7.Text -= 1
SelIndex = btn4.Text
Else
SelIndex = sender.text
End If
End If
Else
SelIndex = sender.text
End If
End If
Select Case SelIndex
Case 1
btnPrevious.Visible = False
Case Else
btnPrevious.Visible = True
End Select
Label1.Text = SelIndex
End Sub
Le premier problème semble être que je fais des cercles dans le sable. Je n'aime pas la façon dont j'ai écrit le code ET ne fonctionne pas comme prévu. Donc, la question est: comment pourrais-je simplifier celui-ci?
Eh oui, vous avez besoin des vacances – Raj
Pour commencer, vous devez itérer sur une liste de boutons. Aussi, je ne connais pas très bien VB.Net, mais ne peux-tu pas écrire 'btnPrevious.Visible = (SelIndex <> 1)', ou quelque chose comme ça? –
Pourquoi manipulez-vous tous les clics de bouton dans un sous-marin? Je pense qu'il serait plus facile de gérer tous les clics séparément. –