|
-
Mar 22nd, 2004, 11:09 PM
#1
Date Time Picker BackColor?
Place a DateTimePicker on your form.
Then place this code in the Form Load event
VB Code:
Me.DateTimePicker1.BackColor = System.Drawing.Color.Tomato
Run the application.
Why doesn't it work?
-
Mar 22nd, 2004, 11:53 PM
#2
Member
Umm... Dont think you can change the background of the date bar itself, but if you want to change the selection part you can do:
VB Code:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.DateTimePicker1.CalendarMonthBackground = System.Drawing.Color.Blue
Me.DateTimePicker1.CalendarTitleBackColor = System.Drawing.Color.Red
Me.DateTimePicker1.CalendarForeColor = System.Drawing.Color.Black
End Sub
and then of course change colors to yoru desired color. If i figure out how to change the bar itself though, i'll be sure to tell ya...
---Flac
Everything great once started with the words "That will never catch on, you shouldnt even bother" be great, go against the crowed, do something stupid, you might become famous.
-
Mar 25th, 2004, 12:05 AM
#3
Originally posted by Flac
Umm... Dont think you can change the background of the date bar itself, but if you want to change the selection part you can do:
VB Code:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.DateTimePicker1.CalendarMonthBackground = System.Drawing.Color.Blue
Me.DateTimePicker1.CalendarTitleBackColor = System.Drawing.Color.Red
Me.DateTimePicker1.CalendarForeColor = System.Drawing.Color.Black
End Sub
and then of course change colors to yoru desired color. If i figure out how to change the bar itself though, i'll be sure to tell ya...
---Flac
Thanks for responding, but I was looking to color just the date bar, as in my previous post.
Any ideas as to why it's not possible, btw?
-
Mar 25th, 2004, 03:04 AM
#4
Sleep mode
Originally posted by mendhak
Any ideas as to why it's not possible, btw?
Not sure why but you might try overriding BackColor of the DTP and provide your own implementation by creating your own User Control .
-
Mar 25th, 2004, 12:03 PM
#5
Sleep mode
-
Mar 25th, 2004, 12:04 PM
#6
Frenzied Member
I read something in the msdn about theme support and that seems to be one of the ones that doesn't support it. I don't know why it wouldn't change colors though since the property is available.
it wouldn't work for me either.
-
Jan 18th, 2005, 04:39 AM
#7
Hyperactive Member
Re: Date Time Picker BackColor?
This one works:
VB Code:
Imports System.ComponentModel
Public Class ColouredDateTimePicker
Inherits DateTimePicker
#Region " Component Designer generated code "
Public Sub New(ByVal Container As System.ComponentModel.IContainer)
MyClass.New()
'Required for Windows.Forms Class Composition Designer support
Container.Add(Me)
End Sub
Public Sub New()
MyBase.New()
'This call is required by the Component Designer.
InitializeComponent()
'Add any initialization after the InitializeComponent() call
End Sub
'Component overrides dispose to clean up the component list.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
'Required by the Component Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Component Designer
'It can be modified using the Component Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
End Sub
#End Region
Private _backBrushColour As SolidBrush
Protected Overrides Sub WndProc(ByRef m As Message)
Const WM_ERASEBKGND As Int32 = &H14
If m.Msg = WM_ERASEBKGND Then
Dim g As Graphics = Graphics.FromHdc(m.WParam)
If _backBrushColour Is Nothing Then
_backBrushColour = New SolidBrush(Me.BackColor)
End If
g.FillRectangle(_backBrushColour, Me.ClientRectangle)
g.Dispose()
Else
MyBase.WndProc(m)
End If
End Sub
<Browsable(True), DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)> _
Public Overrides Property BackColor() As Color
Get
Return MyBase.BackColor
End Get
Set(ByVal Value As Color)
If Not _backBrushColour Is Nothing Then
_backBrushColour.Dispose()
End If
MyBase.BackColor = Value
_backBrushColour = New SolidBrush(Me.BackColor)
Me.Invalidate()
End Set
End Property
End Class
Be who you are and say what you feel, because those who mind don't matter and those who matter don't mind.
Dr. Seuss 
-
Mar 1st, 2008, 02:07 PM
#8
Lively Member
Re: Date Time Picker BackColor?
Ok, it has been awhile since this was posted, but it looks it will do what I want… but here is my rookie question: How is the public class used? I have created a new class document and copied this code into it. Now how do I invoke (I am not sure if this is the right word) the class?
Thanks
-
Mar 1st, 2008, 04:55 PM
#9
Re: Date Time Picker BackColor?
Dim cdtp As New ColouredDateTimePicker?
Or do you want to create a new control project and add that reference?
-
Mar 1st, 2008, 05:17 PM
#10
Lively Member
Re: Date Time Picker BackColor?
Ok... I think I get it. I have to create a new control and locate it on the form in code. I was trying to apply the ColouredDateTimePicker to an existing datetimepicker on a form. I will give this a try. Thanks.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|