Creando una función para tomar todos los valores de varios TextBox
Hoy estaba en clase de “Programación avanzada” (Si es que se puede llamar así) y el profesor nos pedía crear una aplicación con cuatro Textbox y 3 botones. Un botón que hiciera la sumatoria de los números introducidos en los Textbox, otro botón para sacar el promedio y otro para saber cuál es el mayor de los cuatro números, algo como esto:

Sin embargo todo el mundo declaraba las variables en cada procedimiento Clic de los botones y en cada uno guardaban los datos, cada vez que se hiciera Clic, claro está. Algo como esto:
num1 = Val(Form1.TextBox1.Text) num2 = Val(Form1.TextBox2.Text) num3 = Val(Form1.TextBox3.Text) num4 = Val(Form1.TextBox4.Text)
Lo que se me ocurrió fue crear una función dentro de un módulo para ir tomando o recogiendo todos los valores de los Textbox y así poder realizar todas las operaciones sin necesidad de hacer lo mismo en cada procedimiento Clic de los botones. Veamos el código de la función y el módulo completo:
Module Module1
Public n1 = Val(Form1.TextBox1.Text), n2 = Val(Form1.TextBox2.Text), n3 = Val(Form1.TextBox3.Text), n4 = Val(Form1.TextBox4.Text), resultado As Long
Public Sub cajas(ByVal num1 As Long, ByVal num2 As Long, ByVal num3 As Long, ByVal num4 As Long)
num1 = Val(Form1.TextBox1.Text)
num2 = Val(Form1.TextBox2.Text)
num3 = Val(Form1.TextBox3.Text)
num4 = Val(Form1.TextBox4.Text)
End Sub
End Module
Como pueden ver, he declarado las variables que usaré en el formulario y las de la función, para que las otras variables se puedan pasar como parámetro. un ejemplo de su uso sería en el botón de la sumatoria:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
cajas(n1, n2, n3, n4)
resultado = n1 + n2 + n3 + n4
MessageBox.Show("La sumatoria es " + Str(resultado))
End Sub