Ich hoffe, mein Titel ist klar. Lassen Sie mich erklären. Ich habe 4 Knöpfe, die ziemlich genau dasselbe tun.Aufruf der gleichen Funktion mit verschiedenen Funktionen namens innerhalb
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
LimiteGlobalSeparador = InputBox("Introduzca la distancia máxima entre huecos en el tubo", "Cuadro de Datos, Separaciones", "")
Dim a, b, c, d, f, g As New Label
Dim o, p, q, r, s, t As New Label
a.Text = "Medida del Tubo"
b.Text = "Espacio 1"
c.Text = "Espacio 2"
d.Text = "Espacio 3"
f.Text = "Espacio 4"
g.Text = "Espacio 5"
For i = 0 To 5
TableLayoutPanel1.Controls.Add(a, 0, i)
Next
If TextBox1.Text <> 0 Then
For j = 1 To Int(TextBox1.Text)
Dim x As New List(Of Decimal)
x = MedTuboFuncPCT()
For i = 0 To x.Count - 1
Dim lbl As New Label
lbl.Text = Math.Round(x(i), 2)
TableLayoutPanel1.Controls.Add(lbl, j, i)
Next
ContadorGlobal = ContadorGlobal + 1
Next
Else
End If
ContadorGlobal = 0
Dim h As Integer
h = Int(TextBox2.Text - TextBox1.Text)
If TextBox2.Text <> 0 Then
If h = Int(TextBox2.Text) Then
For j = 1 To Int(TextBox2.Text)
Dim x As New List(Of Decimal)
x = MedTuboFunCTCT()
For i = 0 To x.Count - 1
Dim lbl As New Label
lbl.Text = Math.Round(x(i), 2)
TableLayoutPanel1.Controls.Add(lbl, j, i)
Next
ContadorGlobal = ContadorGlobal + 1
Next
Else
ContadorGlobal = 0
For j = Int(1) + Int(TextBox1.Text) To (Int(TextBox1.Text) + Int(TextBox2.Text))
Dim x As New List(Of Decimal)
x = MedTuboFunCTCT()
For i = 0 To x.Count - 1
Dim lbl As New Label
lbl.Text = Math.Round(x(i), 2)
TableLayoutPanel1.Controls.Add(lbl, j, i)
Next
ContadorGlobal = ContadorGlobal + 1
Next
End If
End If
ContadorGlobal = 0
If TextBox3.Text <> 0 Then
Dim x As New List(Of Decimal)
x = MedTuboFuncPP()
For i = 0 To x.Count - 1
Dim lbl As New Label
lbl.Text = Math.Round(x(i), 2)
TableLayoutPanel1.Controls.Add(lbl, 1, i)
Next
End If
If Te180 > 0 Then
o.Text = "Medida del Tubo"
p.Text = "Espacio 1"
q.Text = "Espacio 2"
r.Text = "Espacio 3"
s.Text = "Espacio 4"
t.Text = "Espacio 5"
For i = 6 To 11
TableLayoutPanel1.Controls.Add(o, 0, i)
Next
End If
End Sub
So versuche ich einen Sub zu erstellen und dann diese Unter jeder Taste rufen, so habe mich keinen Code in jeder Taste zu wiederholen, wie ich jetzt habe. Die einzige Änderung ist hier:
Ein Knopf ruft diese Funktion auf. x = MedTuboFuncPCT().
Eine andere nennt man x = MedTuboFuncPCTVid()
Eine andere nennt man x = MedTuboFuncPCTVidBB()
Ich weiß nicht, wie man eine Sub zu machen, in dem ich diesen Unterschied machen kann. Hoffe ich bin klar genug. Danke im Voraus.
erwähnen Sie sollen versuchen, Methoden zu schreiben, die eine einfache Sache zu tun . Wie ich am besten erkenne, ist dieses Klickereignis 5. Wenn jeder Block sein eigenes Sub war, könnten Sie die "generischen" mit den verfeinerten nach Bedarf kombinieren: [Single Responsibility Principle] (https: // en. wikipedia.org/wiki/Single_responsibility_principle) Einfachheit ist das Herz der Wiederverwendbarkeit.Weiterhin scheint es eine große Anzahl von erstellten Etiketten zu geben, die niemals verwendet oder entsorgt werden – Plutonix
Sie sollten auch 'Option Strict' einschalten, damit die IDE Sie warnen kann von zweifelhaften Typumwandlungen. – Plutonix
Danke für den Rat. Ich arbeite an einem Programm für meine Firma. Ich bin kein Programmierer, aber ich kenne einige der grundlegenden Sachen und liebe zu programmieren. So der erste Code, den ich dafür gemacht habe Programm war eine große Wiederholung von Teilen des Codes immer und immer wieder Wenn ich etwas zu dem Programm hinzufügen wollte, realisierte ich, dass ich meinen Code einfacher machen muss, sonst werde ich jedes Mal, wenn ich versuche, etwas hinzuzufügen, Nochmals vielen Dank für den Rat, denn was ich sehe ist, dass mein Code einfach ist. Und ich denke du hast mir schon bei einer meiner Fragen geholfen! Edit: Alle Labels werden übrigens verwendet :) –