Workaround: public RadForm1() { InitializeComponent(); this.radSpinEditor1.SpinElement.TextChanging += SpinElement_TextChanging; this.radSpinEditor1.TextChanged += radSpinEditor1_TextChanged; } private void SpinElement_TextChanging(object sender, Telerik.WinControls.TextChangingEventArgs e) { int numericValue = 0; if (!int.TryParse(e.NewValue, out numericValue)) { this.radSpinEditor1.Tag = e.OldValue; e.Cancel = false; } } private void radSpinEditor1_TextChanged(object sender, EventArgs e) { if (this.radSpinEditor1.Tag != null) { this.radSpinEditor1.SpinElement.Text = this.radSpinEditor1.Tag.ToString(); this.radSpinEditor1.Tag = null; } }
How to reproduce: run the attached project on a system with an increased scaling - 200% Workaround: the null text needs to be set at run-time and after subscribe the control to the CreateTextBlock event public class MyTextBlock : TextBlockElement { public override void DpiScaleChanged(SizeF scaleFactor) { base.DpiScaleChanged(scaleFactor); this.ResetLayoutCore(); } } this.radTextBoxControl1.TextBoxElement.CreateTextBlock += this.RadTextBoxControl1_CreateTextBlock; private void RadTextBoxControl1_CreateTextBlock(object sender, CreateTextBlockEventArgs e) { e.TextBlock = new MyTextBlock(); }
To reproduce: run the attached project, enter some text in the upper RichTextBox and use the buttons to style parts of the text. Click the Save button and you will notice that after correcting the words, the style is not preserved. Workaround: use RadRichTextEditor which has a built-in spell checking functionality: http://docs.telerik.com/devtools/winforms/richtexteditor/features/spellcheck
How to reproduce: add a spellchecker to the form and configure it to spellcheck a multi line text box with a very long text. Workaround: use RadTextBoxControl
How to reproduce: check the attached project and video Workaround: set a minimum size to the control public partial class RadForm1 : RadForm { public RadForm1() { InitializeComponent(); this.radTextBox1.MinimumSize = new Size(0, 20); } }
To reproduce: please refer to the attached sample screenshots and project. Note: this issue is relevant for RadDropDownList as well. Workaround: this.radDropDownList2.DropDownListElement.TextBox.TextBoxItem.Multiline = true; this.radDropDownList2.DropDownListElement.TextBox.TextBoxItem.MinSize = new Size(30, 15);
How to reproduce: radDateTimePicker1.DateTimePickerElement.ShowTimePicker = true; radDateTimePicker1.Format = DateTimePickerFormat.Custom; radDateTimePicker1.DateTimePickerElement.CalendarSize = new Size(330, 250); radDateTimePicker1.ReadOnly = true; Workaround: this.radDateTimePicker1.DateTimePickerElement.ShowTimePicker = true; this.radDateTimePicker1.Format = DateTimePickerFormat.Custom; this.radDateTimePicker1.DateTimePickerElement.CalendarSize = new Size(330, 250); this.radDateTimePicker1.ReadOnly = true; RadDateTimePickerCalendar calendarBehavior = this.radDateTimePicker1.DateTimePickerElement.GetCurrentBehavior() as RadDateTimePickerCalendar; calendarBehavior.TimePicker.TimePickerElement.ReadOnly = true;
How to reproduce: also check the attached video this.radMaskedEditBox1.MaskType = MaskType.Numeric; Workaround: private void RadMaskedEditBox1_TextChanged(object sender, EventArgs e) { if (this.radMaskedEditBox1.Text == "-0") { if (this.radMaskedEditBox1.MaskedEditBoxElement.TextBoxItem.Text.Length == 2) { //Workaround this.radMaskedEditBox1.MaskedEditBoxElement.TextBoxItem.Text = this.radMaskedEditBox1.MaskedEditBoxElement.TextBoxItem.Text.Remove(1, 1); } } }
To reproduce: radTimePicker1.Value = DateTime.Now.AddDays(10); radTimePicker1.TimePickerElement.MaskedEditBox.MaskType = Telerik.WinControls.UI.MaskType.FreeFormDateTime; Workaround: protected override void OnLoad(EventArgs e) { base.OnLoad(e); radTimePicker1.Value = DateTime.Now.AddDays(10); var provider = radTimePicker1.TimePickerElement.MaskedEditBox.Provider as FreeFormDateTimeProvider; provider.MinDate = DateTime.MinValue; provider.MaxDate = DateTime.MaxValue; }
To reproduce use the following code and zoom to Years level: this.radDateTimePicker1.Culture = new System.Globalization.CultureInfo("ps-AF"); radDateTimePicker1.DateTimePickerElement.Calendar.HeaderNavigationMode = Telerik.WinControls.UI.HeaderNavigationMode.Zoom;
To reproduce: run the attached sample project, open the popup and try to to scroll the grid with using the mouse wheel. You will notice that the popup is immediately closed. Workaround: Private Sub PopupClosing(sender As Object, args As Telerik.WinControls.UI.RadPopupClosingEventArgs) If args.CloseReason = Telerik.WinControls.UI.RadPopupCloseReason.Mouse Then args.Cancel = True End If End Sub
To reproduce: use the following code snippet and try to input some numeric value public RadForm1() { InitializeComponent(); this.radMaskedEditBox1.MaskType = Telerik.WinControls.UI.MaskType.Numeric; this.radMaskedEditBox1.ValueChanged += radMaskedEditBox1_ValueChanged; } private void radMaskedEditBox1_ValueChanged(object sender, EventArgs e) { Console.WriteLine(this.radMaskedEditBox1.Value); }
Use attached to reproduce. Workaround: Use date format that does not display the entire month name.
Use the attached project and the following steps: When the application starts, the entire content of the picker control is selected (which is fine). Now press the Del key to clear the entire content. If you then try and type in a date any key you type is shown briefly and is then cleared. It is impossible to type anything until you open the drop down calendar and select something other than 1-1-0001. Once another date is selected you can type normally. Open the drop down calendar and select 1-1-0001 again and the same behavior occurs again. This bug occurs whether or not ShowCheckBox is true. Workaround: - The NullDate should be different that the MinDate radDateTimePicker1.NullDate = DateTime.MinValue.AddDays(1);
Workaround: class MyTextBoxInputHandler : TextBoxInputHandler { public MyTextBoxInputHandler(RadTextBoxControlElement el) : base(el) { } public override bool ProcessMouseWheel(MouseEventArgs e) { return false; } } radTextBoxControl1.TextBoxElement.InputHandler = new MyTextBoxInputHandler(radTextBoxControl1.TextBoxElement);
How to reproduce: public partial class Form1 : Form { RadDateTimePicker dateTimePicker; public Form1() { InitializeComponent(); this.dateTimePicker = new RadDateTimePicker(); this.dateTimePicker.DateTimePickerElement.Calendar.HeaderNavigationMode = HeaderNavigationMode.Zoom; this.Controls.Add(this.dateTimePicker); } } Workaround: public partial class Form1 : Form { RadDateTimePicker dateTimePicker; public Form1() { InitializeComponent(); this.dateTimePicker = new RadDateTimePicker(); this.dateTimePicker.DateTimePickerElement.Calendar.PropertyChanged += Calendar_PropertyChanged; this.dateTimePicker.DateTimePickerElement.Calendar.HeaderNavigationMode = HeaderNavigationMode.Zoom; this.Controls.Add(this.dateTimePicker); } private void Calendar_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { if (e.PropertyName == "FocusedDate") { int year = this.dateTimePicker.DateTimePickerElement.Calendar.FocusedDate.Year; if (year <= this.dateTimePicker.MinDate.Year) { this.dateTimePicker.DateTimePickerElement.Calendar.HeaderNavigationMode = HeaderNavigationMode.None; } else { this.dateTimePicker.DateTimePickerElement.Calendar.HeaderNavigationMode = HeaderNavigationMode.Zoom; } } } }
Workaround: override the ProcessCmdKey method of the form and activate the desired control: protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { if (keyData== Keys.Tab) { this.ActiveControl = this.radPopupEditor2.PopupEditorElement.TextBoxElement.TextBoxItem.HostedControl; return true; } return base.ProcessCmdKey(ref msg, keyData); } IMPORTANT!!! Tab key should navigate to the next control even if the popup is opened.
To reproduce: - Use the following format: radDateTimePicker1.Format = DateTimePickerFormat.Custom; radDateTimePicker1.CustomFormat = "MM/dd/yyyy"; - Clear the date and try to enter 01/01/2017 (see attched video) Workaround: radDateTimePicker1.NullDate = DateTime.MinValue.AddYears(1);