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? :eek:
Printable View
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? :eek:
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:
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...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
---Flac
Thanks for responding, but I was looking to color just the date bar, as in my previous post.Quote:
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:
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...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
---Flac
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 .Quote:
Originally posted by mendhak
Any ideas as to why it's not possible, btw?
Some niffty ones :
http://www.codeproject.com/cs/miscct...FTime+controls
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.
This one works: :p
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
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
Dim cdtp As New ColouredDateTimePicker?
Or do you want to create a new control project and add that reference?
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.