1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| Public Sub TSP_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
AddEventTextBoxCalculAi(PL_TG_MD)
AddEventTextBoxCalculP(PL_TS_MD)
'AddEventTextBoxCalculAi(GB3_pour_calcul_ai)
'AddEventTextBoxCalculAi(GB4_pour_calcul_ai)
'...
End Sub
Sub AddEventTextBoxCalculAi(ByVal conteneur As Control) ' rattache les évènements changed des textbox pour le calcul des Label Ai et At
For Each txt As TextBoxBase In conteneur.Controls.OfType(Of TextBoxBase)()
AddHandler txt.TextChanged, AddressOf PL_TG_MD_TextChanged
Next
End Sub
Sub AddEventTextBoxCalculP(ByVal conteneur As Control) ' rattache les évènements changed des textbox pour le calcul du Label P
For Each txt As TextBoxBase In conteneur.Controls.OfType(Of TextBoxBase)()
AddHandler txt.TextChanged, AddressOf PL_TS_MD_TextChanged
Next
End Sub
Private Sub PL_TG_MD_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) ' calcul des Label Ai et At
If IsAllTextBoxNumeric(PL_TG_MD) Then
Loads_Result.LBL_metAi.Text = "ai " & Format((Math.PI * (Double.Parse(TB_metD0.Text) - 2 * Double.Parse(TB_metThick.Text)) ^ 2) / 4, ("0.00"))
Loads_Result.LBL_metAt.Text = "at " & Format(Math.PI * Double.Parse(TB_metThick.Text) * (Double.Parse(TB_metD0.Text) - Double.Parse(TB_custThick.Text)), ("0.00"))
End If
End Sub
Private Sub PL_TS_MD_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) ' calcul du Label P
If IsAllTextBoxNumeric(PL_TS_MD) Then fenLoads_Result.LBL_metFp.Text = "P " & Format(TB_metP.Text * Loads_Result.LBL_metAi.Text, ("0.00"))
End Sub
Private Sub BT_LoadResult_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BT_LoadResult.Click
Loads_Result.Show()
' Lors de l'affichage de la fenetre secondaire -> appel des méthode pour calculer Ai, At, Fp
PL_TG_MD_TextChanged(Nothing, New System.EventArgs) ' force le calcul Ai, At
PL_TS_MD_TextChanged(Nothing, New System.EventArgs) ' force le calcul P
End Sub
''' <summary>Teste si tous les texbox d'un conteneur sont des entiers</summary>
''' <param name="conteneur">conteneur de type panel, groupbox, ...</param>
''' <returns>Vrai si tous numérique, sinon faux</returns>
Function IsAllTextBoxNumeric(conteneur As Control)
Dim i As Integer
For Each txt As TextBox In conteneur.Controls.OfType(Of TextBox)()
If Not Integer.TryParse(txt.Text, i) Then Return False
Next
Return True
End Function |
Partager