Quantcast
Channel: VBForums
Viewing all articles
Browse latest Browse all 15525

Custom user control with custom proprety and event

$
0
0
Hello, I'm trying to build a control: it have 6 mybuttons(they are buttons from a custom theme with a proprety called pressed that change the color of the button when=true).
I want to use it to get the endianess selected like in the following code
Code:

Public Class mybtnBit
    Private Sub mybtnHILO_Click(sender As Object, e As EventArgs) Handles mybtnHILO.Click
        If mybtnFloat.Pressed = False Then mybtnHILO.Pressed = Not mybtnHILO.Pressed
        endianess = GetEndianess()
    End Sub
    Private Sub mybtnSigned_Click(sender As Object, e As EventArgs) Handles mybtnSigned.Click
        If mybtnFloat.Pressed = True Then mybtnSigned.Pressed = Not mybtnSigned.Pressed
        endianess = GetEndianess()
    End Sub
    Private Sub mybtn8Bit_Click(sender As Object, e As EventArgs) Handles mybtn8Bit.Click
        mybtn8Bit.Pressed = True
        mybtn16Bit.Pressed = False
        mybtn32Bit.Pressed = False
        mybtnFloat.Pressed = False
        mybtnHILO.Pressed = False
        endianess = GetEndianess()
    End Sub

    Private Sub mybtn16Bit_Click(sender As Object, e As EventArgs) Handles mybtn16Bit.Click
        mybtn16Bit.Pressed = True
        mybtn8Bit.Pressed = False
        mybtn32Bit.Pressed = False
        mybtnFloat.Pressed = False
        endianess = GetEndianess()
    End Sub
    Private Sub mybtn32Bit_Click(sender As Object, e As EventArgs) Handles mybtn32Bit.Click
        mybtn32Bit.Pressed = True
        mybtn16Bit.Pressed = False
        mybtn8Bit.Pressed = False
        mybtnFloat.Pressed = False
        SelectedEndianess = 0
        endianess = GetEndianess()
    End Sub
    Private Sub mybtnFloat_Click(sender As Object, e As EventArgs) Handles mybtnFloat.Click
        mybtnFloat.Pressed = True
        mybtn16Bit.Pressed = False
        mybtn32Bit.Pressed = False
        mybtn8Bit.Pressed = False
        mybtnHILO.Pressed = False
        mybtnSigned.Pressed = False
        endianess = GetEndianess()
    End Sub
    Private endianess As UInt16 = 0
    Property SelectedEndianess As UInt16
        Set(value As UInt16)
            endianess = GetEndianess()
        End Set

        Get
            endianess = GetEndianess()
            Return endianess
        End Get
    End Property

    '0 8 bit Signed
    '1 8 Bit Unsigned
    '2 16 bit Signed Little Endian
    '3 16 bit Unsigned Little Endian
    '4 16 bit Signed Big Endian
    '5 16 bit Unsigned Big Endian
    '6 32 bit Signed Little Endian
    '7 32 bit Unsigned Little Endian
    '8 32 bit Signed Big Endian
    '9 32 bit Unsigned Big Endian
    '10 Float (not used)
    Private Function GetEndianess()
        Dim EndianessState As UInt16
        If mybtnSigned.Pressed = True Then
            'Signed
            If mybtn8Bit.Pressed = True Then
                '8Bit Signed
                EndianessState = 0
            ElseIf mybtn16Bit.Pressed = True Then
                '16bit Signed
                If mybtnHILO.Pressed = True Then
                    '16bit Signed Big Endian
                    EndianessState = 4
                Else
                    '16bit Signed Little Endian
                    EndianessState = 2
                End If
            ElseIf mybtn32Bit.Pressed = True Then
                '32bit Signed
                If mybtnHILO.Pressed = True Then
                    '32bit Signed Big Endian
                    EndianessState = 8
                Else
                    '32bit Signed Little Endian
                    EndianessState = 6
                End If

            End If
        Else
            'Unsigned
            If mybtn8Bit.Pressed = True Then
                '8Bit Unsigned
                EndianessState = 1
            ElseIf mybtn16Bit.Pressed = True Then
                '16bit unsigned
                If mybtnHILO.Pressed = True Then
                    '16bit Unsigned Big Endian
                    EndianessState = 5
                Else
                    '16bit Unsigned Little Endian
                    EndianessState = 3
                End If
            ElseIf mybtn32Bit.Pressed = True Then
                '32bit unsigned
                If mybtnHILO.Pressed = True Then
                    '32bit Unsigned Big Endian
                    EndianessState = 9
                Else
                    '32bit Unsigned Little Endian
                    EndianessState = 7
                End If
            ElseIf mybtnFloat.Pressed = True Then
                'float
                EndianessState = 10

            End If
        End If
        Return EndianessState
    End Function

End Class

My goal is to have an event when the user click on one of this buttons, and also change the proprety SelectedEndianess.
Can you help me please?

Viewing all articles
Browse latest Browse all 15525

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>