This is a migrated thread and some comments may be shown as answers.

Change border color is not working

4 Answers 314 Views
Calendar, DateTimePicker, TimePicker and Clock
This is a migrated thread and some comments may be shown as answers.
Paul
Top achievements
Rank 1
Paul asked on 25 Apr 2017, 04:27 AM

Hello,

I'm using RadDateTimePicker and I tried to change it's border color but there was no effect.

Please help me to solve this propblem.

Thanks

 

 

4 Answers, 1 is accepted

Sort by
0
Dimitar
Telerik team
answered on 25 Apr 2017, 10:03 AM
Hi Paul,

Use the ForeColor property like this:
var border = radDateTimePicker1.DateTimePickerElement.Children[1] as BorderPrimitive;
border.ForeColor = Color.Red;

I hope this helps.

Regards,
Dimitar
Telerik by Progress
Try our brand new, jQuery-free Angular 2 components built from ground-up which deliver the business app essential building blocks - a grid component, data visualization (charts) and form elements.
0
Paul
Top achievements
Rank 1
answered on 26 Apr 2017, 03:31 AM

Hello Dimitar,

I tried your solution but it didn't have any effects. Please help me to solve my propblem

My code are:

public static void ApplyDefaultStyles(this RadDateTimePicker picker)
        {
            picker.Format = DateTimePickerFormat.Custom;
            picker.Margin = new Padding(0);
            picker.AutoSize = false;
            picker.Dock = DockStyle.Fill;
            picker.CustomFormat = MarsConstants.DateFormat;
            picker.Value = DateTime.Now;
            picker.Font = ComponentSettings.DefaultFont;
            picker.ForeColor = ComponentSettings.DefaultForeColor;
            picker.BackColor = ComponentSettings.WhiteColor;
            picker.ThemeName = ComponentSettings.DefaultThemeName;
            picker.EnableTheming = true;
 
            // Arrow button
            picker.DateTimePickerElement.ArrowButton.Border.LeftWidth = 0;
            picker.DateTimePickerElement.ArrowButton.Border.TopWidth = 0;
            picker.DateTimePickerElement.ArrowButton.Border.RightWidth = 0;
            picker.DateTimePickerElement.ArrowButton.Border.BottomWidth = 0;
            picker.DateTimePickerElement.ArrowButton.Fill.BackColor = ComponentSettings.DefaultColor;
            ImagePrimitive imagePrimitive = picker.DateTimePickerElement.ArrowButton.FindDescendant<ImagePrimitive>();
            if (imagePrimitive != null)
            {
                imagePrimitive.Padding = new Padding(15, 8, 15, 8);
                imagePrimitive.Image = Properties.Resources.Image054.ResizeImage(UICommon.IconModel.Arrow.Width, UICommon.IconModel.Arrow.Height);
            }
 
            var border = picker.DateTimePickerElement.Children[1] as BorderPrimitive;
            if (border == null) return;
            border.ForeColor = Color.Red;
        }

 

Also, I's using custom format for date picker based on frequently, maybe it break the format of border?. The logic are:

For dayly or weekly format:
dateTimePicker.CustomFormat = "MM/dd/yyyy";
Or for monthly format
dateTimePicker.CustomFormat = "MM/yyyy";
Or for yearly format
dateTimePicker.CustomFormat = "yyyy";
0
Accepted
Dimitar
Telerik team
answered on 26 Apr 2017, 08:15 AM
Hi Paul,

It seems that you are using a theme where the border is not painted. So you need to set the ShouldPaint property as well:
var border = picker.DateTimePickerElement.Children[1] as BorderPrimitive;
border.ShouldPaint = true;
border.ForeColor = Color.Red;

Should you have any other questions do not hesitate to ask.

Regards,
Dimitar
Telerik by Progress
Try our brand new, jQuery-free Angular 2 components built from ground-up which deliver the business app essential building blocks - a grid component, data visualization (charts) and form elements.
0
Paul
Top achievements
Rank 1
answered on 26 Apr 2017, 08:33 AM

Hello Dimitar,

Thanks you for your help, it have been solved

Regard,

Paul

Tags
Calendar, DateTimePicker, TimePicker and Clock
Asked by
Paul
Top achievements
Rank 1
Answers by
Dimitar
Telerik team
Paul
Top achievements
Rank 1
Share this question
or