Access and change properties values thanks to checkBox Tag

Gualino

Member
Joined
Sep 27, 2011
Messages
10
Programming Experience
Beginner
Hi all

I have A ChassisClass. (I am talking about cars)

By the designer I tag a checkbox to a ChassisClass property "RollCenterHeight_Front"

Each check box is bound to its property:
VB.NET:
Private Sub BindCheckBoxToChassisClassProperties(ByVal chassis As ChassisClass)
        For Each ctrl As CheckBox In Me.lstCheckBox
            ctrl.DataBindings.Clear()
        Next

        For Each checkbox As CheckBox In Me.lstCheckBox
            Select Case checkbox.Name
                Case "ARBStiffnessFront_cbox"
                    checkbox.DataBindings.Add("Tag", chassis, "ARBStiffness_Front")
                Case "ARBStiffnessRear_cbox"
                    checkbox.DataBindings.Add("Tag", chassis, "ARBStiffness_Rear")
                Case "SpringStiffness_LF_cbox"
                    checkbox.DataBindings.Add("Tag", chassis, "SpringStiffness_LF")
                Case "SpringStiffness_RF_cbox"
                    checkbox.DataBindings.Add("Tag", chassis, "SpringStiffness_RF")
                Case "SpringStiffness_LR_cbox"
                    checkbox.DataBindings.Add("Tag", chassis, "SpringStiffness_LR")
                Case "SpringStiffness_RR_cbox"
                    checkbox.DataBindings.Add("Tag", chassis, "SpringStiffness_RR")
                Case "SpringStiffness_Front_cbox"
                    checkbox.DataBindings.Add("Tag", chassis, "SpringStiffness_Front")
                Case "SpringStiffness_Rear_cbox"
                    checkbox.DataBindings.Add("Tag", chassis, "SpringStiffness_Rear")
                Case "RollCenter_Front_cbox"
                    checkbox.DataBindings.Add("Tag", chassis, "RollCenterHeight_Front")
                Case "RollCenter_Rear_cbox"
                    checkbox.DataBindings.Add("Tag", chassis, "RollCenterHeight_Rear")
                Case "AckermannRatio_cbox"
                    checkbox.DataBindings.Add("Tag", chassis, "AckermannRatio")
                Case "TotalMassWeightDistribution_cbox"
                    checkbox.DataBindings.Add("Tag", chassis, "TotalMassWeightDistribution")
            End Select
            checkbox.DataBindings.DefaultDataSourceUpdateMode = DataSourceUpdateMode.OnPropertyChanged
        Next
    End Sub


If the user check the "RollCenterHeigth_Front" checkbox, I want then property to takes a range of value for which a calculation loop will turn et be plotted on a chart with on Y the result and on X the value of the property.

VB.NET:
For Each checkbox As CheckBox In Me.lstCheckBox
            If checkbox.Checked = True Then
                Me.PlotSelectedParts(checkbox)
            End If
        Next

VB.NET:
 Private Sub PlotSelectedParts(ByRef checkBox As CheckBox)

        Call CreateNewSetupChangeChart()

        Dim rangeSetupChange As Integer = CInt(RangeSetupChange_tbox.Text)
        Dim initialValue As Double = CDbl(checkBox.Tag)

        If TypeOf checkBox.Tag Is Double Then

            Dim increment As Integer
            increment = CInt(((rangeSetupChange * 2) / 5))

            For i = -(Abs(rangeSetupChange)) To Abs(rangeSetupChange) Step increment + 1

                checkBox.Tag = initialValue * (1 + i / 100) 'Change the value of the property

                MessageBox.Show((checkBox.Tag).ToString)
                MessageBox.Show(MyChassis.RollCenterHeight_Front.ToString)

                Call EnterMagicNumberValuesToPlot(CDbl(checkBox.Tag))
            Next

        End If

        Call AddMagicNumberPlotToTableLayoutPanel()

    End Sub

checkBox.Tag vary but not MyChassis.RollCenterHeight_Front. :(
 
Back
Top