Skip to main content Skip to footer

Disable or hide up/down buttons in C1DateEdit

When using the DateEdit control, the embedded spin/up-down buttons allow users to increment or decrement the date values using mouse clicks. Depending on your business requirements, you might want to either hide these buttons completely to save layout space, or keep them visible but deactivate their functionality so users cannot modify the value through them.

Solution There are two ways to manage the spin buttons on a DateEdit control depending on your desired visual behavior:

  • To Hide the Buttons completely: Set the ShowUpDownButtons property to false. This removes the arrow buttons from the control's text box entirely.

  • To Keep the Buttons Visible but Disable Functionality: Handle the UpDownButtonClick event. By setting e.Done = true inside the event handler, you instruct the control that the action has already been handled, effectively blocking the default increment or decrement logic.

Additionally, if you need to programmatically initialize or reset the control to the current date, you can assign DateTime.Now directly to its Value property.

// Approach 1: Hide the buttons completely
dateEdit1.ShowUpDownButtons = false;

// Approach 2: Keep buttons visible but disable their functionality
dateEdit1.UpDownButtonClick += DateEdit1_UpDownButtonClick;

private void DateEdit1_UpDownButtonClick(object sender, UpDownButtonClickEventArgs e)
{
    // Block the up/down click from changing the date value
    e.Done = true;
}

// Optional: Set the control value to today's date
dateEdit1.Value = DateTime.Now;