Click here to Skip to main content
15,892,059 members
Articles / Programming Languages / Visual Basic

gTimePicker- Control to Pick a Time Value (VB.NET)

Rate me:
Please Sign up or sign in to vote.
4.88/5 (38 votes)
8 Feb 2012CPOL7 min read 137.6K   3.9K   69  
Stop using the DateTimePicker for time values. This control makes it easy to pick a time, and if you act now, get the matching Nullable gDateTimePicker at no extra cost.
Imports System.Windows.Forms.Design
Imports System.Drawing.Design

Class TimeColorsUIEditor
    Inherits UITypeEditor

    ' Indicate that we display a modal dialog.
    Public Overrides Function GetEditStyle(ByVal context As System.ComponentModel.ITypeDescriptorContext) As System.Drawing.Design.UITypeEditorEditStyle
        Return UITypeEditorEditStyle.Modal
    End Function

    ' Edit a Selected value.
    Public Overrides Function EditValue(ByVal context As System.ComponentModel.ITypeDescriptorContext, _
        ByVal provider As System.IServiceProvider, ByVal value As Object) As Object
        ' Get the editor service.
        Dim editor_service As IWindowsFormsEditorService = _
            CType(provider.GetService(GetType(IWindowsFormsEditorService)), _
                IWindowsFormsEditorService)
        If editor_service Is Nothing Then Return value


        Dim dlg As dlgTimeColors = New dlgTimeColors

        ' Prepare the editing dialog.
        With dlg
            If context.Instance.GetType Is GetType(gTimePickerCntrl) Then
                Dim Instance As New gTimePickerCntrl
                Instance = CType(context.Instance, gTimePickerCntrl)
                .gTimePickerColors.TimeColors = Instance.TimeColors

                ' Display the dialog.
                editor_service.ShowDialog(dlg)
                context.OnComponentChanged()
                Instance.Refresh()

            ElseIf context.Instance.GetType Is GetType(gTimePicker) Then
                Dim Instance As New gTimePicker
                Instance = CType(context.Instance, gTimePicker)
                .gTimePickerColors.TimeColors = Instance.TimeColors

                ' Display the dialog.
                editor_service.ShowDialog(dlg)
                context.OnComponentChanged()
                Instance.Refresh()
                'Else
                '    'This is needed if using in a SmartTag
                '    Instance = CType(context.Instance., gTimePickerCntrl)
            End If

        End With

        ' Return the new value.
        Return dlg.gTimePickerColors.TimeColors
    End Function
End Class

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer
United States United States
I first got hooked on programing with the TI994A. After it finally lost all support I reluctantly moved to the Apple IIe. Thank You BeagleBros for getting me through. I wrote programs for my Scuba buisness during this time. Currently I am a Database manager and software developer. I started with VBA and VB6 and now having fun with VB.NET/WPF/C#...

Comments and Discussions