To reproduce: - Set the mask to regex and paste with Ctrl + V. Workaround: private void RadmaskedEditBox1_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == '\x16') { radmaskedEditBox1.MaskedEditBoxElement.TextBoxItem.Paste(); } }
How to reproduce: public Form1() { InitializeComponent(); this.radMaskedEditBox1.Culture = new CultureInfo("ar-EG"); this.radMaskedEditBox1.Mask = "c"; this.radMaskedEditBox1.MaskType = Telerik.WinControls.UI.MaskType.Numeric; } Workaround: handle the KeyDown event private void radMaskedEditBox1_KeyDown(object sender, KeyEventArgs e) { if (this.radMaskedEditBox1.SelectionLength == this.radMaskedEditBox1.Text.Length) { this.radMaskedEditBox1.SelectionLength = 0; } }
Steps to reproduce: public Form1() { InitializeComponent(); this.Text = Telerik.WinControls.VersionNumber.Number; this.radMaskedEditBox1.Culture = new System.Globalization.CultureInfo("nl-BE"); this.radMaskedEditBox1.MaskType = Telerik.WinControls.UI.MaskType.Numeric; this.radMaskedEditBox1.Mask = "C"; this.radMaskedEditBox1.Value = 570.00; } private void radButton2_Click(object sender, EventArgs e) { this.radMaskedEditBox1.Culture = new System.Globalization.CultureInfo("en-US"); } private void radButton1_Click(object sender, EventArgs e) { this.radMaskedEditBox1.Culture = new System.Globalization.CultureInfo("nl-BE"); } Run the application and change the culture between Dutch and English, you will see that the value is reset instead keep it. Workaround: CultureInfo providerDutch = new CultureInfo("nl-BE"); CultureInfo providerEnglish = new CultureInfo("en-US"); public Form1() { InitializeComponent(); this.Text = Telerik.WinControls.VersionNumber.Number; this.radMaskedEditBox1.Culture = providerDutch; this.radMaskedEditBox1.MaskType = Telerik.WinControls.UI.MaskType.Numeric; this.radMaskedEditBox1.Mask = "C"; this.radMaskedEditBox1.Value = 570.00; } private void radButton1_Click(object sender, EventArgs e) { double tempValue = double.Parse(this.radMaskedEditBox1.Value.ToString(), NumberStyles.Currency | NumberStyles.AllowThousands | NumberStyles.AllowDecimalPoint, providerEnglish); this.radMaskedEditBox1.Culture = new System.Globalization.CultureInfo("nl-BE"); this.radMaskedEditBox1.Value = tempValue; } private void radButton2_Click(object sender, EventArgs e) { double tempValue = double.Parse(this.radMaskedEditBox1.Value.ToString(), NumberStyles.Currency | NumberStyles.AllowThousands | NumberStyles.AllowDecimalPoint, providerDutch); this.radMaskedEditBox1.Culture = new System.Globalization.CultureInfo("en-US"); this.radMaskedEditBox1.Value = tempValue; }
To reproduce: Using the below code, type something in the text box and execute the button shortcut => the caret remains where it was protected override void OnLoad(EventArgs e) { base.OnLoad(e); AddTextBoxControl(); radButton1.ButtonElement.Shortcuts.Add(new RadShortcut(Keys.Alt, new Keys[] { Keys.R })); } private void radButton1_Click(object sender, EventArgs e) { radTextBoxControl1.Text = ""; } Workaround: Instead of setting the Text to empty string, use the control Clear method.
Workaround: increase the height: this.radTimePicker1.MinimumSize = new Size(0, 28);
To reproduce: please refer to the attached gif file. The error is applicable for all controls that use RadColorDialog while editing, e.g. RadGridView, RadPropertyGrid. Workaround: disable the spineditors: private void RadPropertyGrid1_EditorInitialized(object sender, Telerik.WinControls.UI.PropertyGridItemEditorInitializedEventArgs e) { PropertyGridColorEditor colorEditor = e.Editor as PropertyGridColorEditor; if (colorEditor !=null) { RadColorBoxElement el = colorEditor.EditorElement as RadColorBoxElement; ((RadForm)el.ColorDialog.ColorDialogForm).Load += ColorDialogForm_Load1; } } private void ColorDialogForm_Load1(object sender, EventArgs e) { RadColorDialogForm form = sender as RadColorDialogForm; RadPageView pageView = form.RadColorSelector.Controls["radPageView1"] as RadPageView; Telerik.WinControls.UI.RadColorPicker.ProfessionalColors professionalColors = pageView.Pages[3].Controls["professionalColorsControl"] as Telerik.WinControls.UI.RadColorPicker.ProfessionalColors; foreach (Control c in professionalColors.Controls ) { RadSpinEditor spinEditor = c as RadSpinEditor; if (spinEditor!=null) { spinEditor.SpinElement.TextBoxItem.Enabled = false; } } }
To reproduce: - Add RadMaskedEditBox to a form. - Set AutoSize to false. - Set the height of the control to 30. Workaround: radMaskedEditBox1.AutoSize = false; radMaskedEditBox1.MaskedEditBoxElement.TextBoxItem.MinSize = new Size(0, 30);
To reproduce: public Form1() { InitializeComponent(); this.radDateTimePicker1.Culture = new System.Globalization.CultureInfo("en-GB"); RadTimePickerLocalizationProvider.CurrentProvider = new MyTimePickerLocalizationProvider(); this.radDateTimePicker1.DateTimePickerElement.ShowTimePicker = true; } class MyTimePickerLocalizationProvider : RadTimePickerLocalizationProvider { public override string GetLocalizedString(string id) { switch (id) { case RadTimePickerStringId.HourHeaderText: return "TEST Hours"; case RadTimePickerStringId.MinutesHeaderText: return "TEST Minutes"; case RadTimePickerStringId.CloseButtonText: return "TEST CLOSE"; default: return string.Empty; } } } Workaround: RadDateTimePickerCalendar calendarBehaviorFrom = this.radDateTimePicker1.DateTimePickerElement.GetCurrentBehavior() as RadDateTimePickerCalendar; calendarBehaviorFrom.Calendar.ShowFooter = true; calendarBehaviorFrom.PopupControl.Opened += PopupControl_PopupOpened; private void PopupControl_PopupOpened(object sender, EventArgs args) { RadDateTimePickerDropDown dd = sender as RadDateTimePickerDropDown; TimePickerDoneButtonContent buttonContent = ((RadPanel)dd.HostedControl).Controls[2] as TimePickerDoneButtonContent; var doneButton = ((Telerik.WinControls.UI.TimePickerDoneButtonElement)(buttonContent.RootElement.Children[0])); doneButton.ButtonElement.Text = RadTimePickerLocalizationProvider.CurrentProvider.GetLocalizedString(RadTimePickerStringId.CloseButtonText); }
To reproduce: ThemeResolutionService.ApplicationThemeName = "Office2013Light"; this.radTextBox2.Enabled = false; Workaround: this.radTextBox2.BackColor = Color.LightGray;
After binding a boolean property to RadDateTimePicker:Checked, changes made in the property reflect in the GUI, but changes made in the GUI even after lost focus are not reflected on the boolean property. The same test was done with winforms DateTimePicker and the expected behaviour was observed(not the situation reported). above). For further testing background, the class wich contains the binded boolean, implements INotifyPropertyChanged.
To reproduce: - Use the SpellCheck as you type functionality with RadTextBox. - The "Ignore All" and "Add To Dictionary" strings in the context menu are not changed. Workaround: public RadForm1() { InitializeComponent(); radSpellChecker1.AutoSpellCheckControl = radTextBox1; TextBoxSpellChecker textBoxControlSpellChecker = this.radSpellChecker1.GetControlSpellChecker(typeof(RadTextBox)) as TextBoxSpellChecker; textBoxControlSpellChecker.DropDownMenu.DropDownOpened += DropDownMenu_DropDownOpened; } private void DropDownMenu_DropDownOpened(object sender, EventArgs e) { var menu = (RadDropDownMenu)sender; foreach (var item in menu.Items) { if (item.Text == "Add To Dictionary") { item.Text = "test"; } if (item.Text == "Ignore All") { item.Text = "test"; } } }
To reproduce: 1. Add a RadForm and a RadTimePicker/RadDateTimePicker. 2. Change the Enabled property of the RadTimePicker/RadDateTimePicker to false at design time. 3. Apply the Office2013Light theme to the RadTimePicker/RadDateTimePicker at design time. 4. Apply the same theme to the RadForm at design time. If you run the application, you will notice that RadTimePicker/RadDateTimePicker has a gray back color. However, if you turn on/off the Enabled property in a button's Click event, the back color is not gray. Workaround: set the Enabled property to false in the Load event.
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
The issue exist in the versions after Q1 2017 Workaround: Class MyTextBox Inherits RadTextBoxControl Protected Overrides Function CreateTextBoxElement() As RadTextBoxControlElement Return New MyTextBoxElement() End Function End Class Class MyTextBoxElement Inherits RadTextBoxControlElement Protected Overrides ReadOnly Property ThemeEffectiveType As Type Get Return GetType(RadTextBoxControlElement) End Get End Property Protected Overrides Function CreateViewElement() As TextBoxViewElement Return New MyWrapPanel End Function End Class Class MyWrapPanel Inherits TextBoxViewElement Protected Overrides Function InsertTextBlocks(index As Integer, text As String, blockType As Type) As Integer If String.IsNullOrEmpty(text) Then Return index End If Dim textBuilder As New StringBuilder() For i As Integer = 0 To text.Length - 1 Dim symbol As Char = text(i) If Char.IsWhiteSpace(symbol) OrElse symbol = TextBoxViewElement.TabSymbol OrElse symbol = TextBoxViewElement.LineFeedSymbol OrElse symbol = TextBoxViewElement.CarriageReturnSymbol Then If textBuilder.Length > 0 Then Dim textBlock As ITextBlock = Me.CreateBlock(textBuilder.ToString(), blockType) If index >= Me.Children.Count Then Me.Children.Add(TryCast(textBlock, RadElement)) index = Me.Children.Count - 1 textBlock.Index = index Else textBlock.Index = index Me.Children.Insert(index, TryCast(textBlock, RadElement)) End If textBuilder = New StringBuilder() index += 1 End If Dim tabBlock As ITextBlock = Me.CreateBlock(symbol.ToString(), blockType) tabBlock.Index = index Me.Children.Insert(index, TryCast(tabBlock, RadElement)) index += 1 Continue For End If textBuilder.Append(symbol) Next If textBuilder.Length > 0 Then Dim textBlock As ITextBlock = Me.CreateBlock(textBuilder.ToString(), blockType) textBlock.Index = index Me.Children.Insert(index, TryCast(textBlock, RadElement)) index += 1 End If Return index - 1 End Function End Class
to reproduce this bug : add RadDateTimePicker and set culture to fa-IR change the header navigation mode to zoom with : Me.radDateTimePicker1.DateTimePickerElement.Calendar.HeaderNavigationMode = HeaderNavigationMode.Zoom popup the date time picker then georgian dates are displayed i'll attach screenshots of what happening.
The Free Form Date Time Parsing of a RadTimePicker is not able to recognize "hhmm" as an legit value (ex. 1030 for half pas ten). This improvement could be nice, as it is a common way to write an time. It is working in Outlook Appointement Form.
Use attached to reproduce. Workaround: Use date format that does not display the entire month name.
Using UI for WinForms R3 2017 (version 2017.3.912) Strange behavior while selecting text with the mouse, while TextAlign is set to Right and there is more text then visible. To reproduce try selecting all the text in the control from the attached file (once to the left, once to the right). If the ShowClear button is visible and RihtToLeft is true, it won't select to the left (while there is more text than visible). RadTextBoxControl radTextBoxControl1 = new Telerik.WinControls.UI.RadTextBoxControl(); this.radTextBoxControl1.Location = new System.Drawing.Point(239, 186); this.radTextBoxControl1.Name = "radTextBoxControl1"; this.radTextBoxControl1.RightToLeft = System.Windows.Forms.RightToLeft.Yes; this.radTextBoxControl1.ShowClearButton = true; this.radTextBoxControl1.Size = new System.Drawing.Size(64, 20); this.radTextBoxControl1.TabIndex = 6; this.radTextBoxControl1.Text = "123456789123456789"; this.radTextBoxControl1.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
Workaround: this.radSpinEditor1.CausesValidation = false; ((TextBox)this.radSpinEditor1.SpinElement.TextBoxItem.HostedControl).CausesValidation = false;