To reproduce: - Select the time from the drop down and press close button. - Notice that the form is deactivated. Workaround: void radTimePicker1_LostFocus(object sender, EventArgs e) { this.Activate(); }
Workaround: this.radTextBox1.TextBoxElement.Fill.BackColor = backColor; this.radTextBox1.TextBoxElement.BackColor = backColor;
To reproduce: - Add a TextBox and a button to a blank form. - Subscribe to the following Validating event handler: void radTextBox1_Validating(object sender, CancelEventArgs e) { Console.WriteLine("Validating"); e.Cancel = true; }
To reproduce: - set the Mask to P2 - set the MaskType to Numeric - set the control value to 0.024 The the control displays "2.4" instead of "2.4 %" WORKAROUND: Private Sub RadMaskedEditBox1_ValueChanged(sender As Object, e As EventArgs) Dim control As RadMaskedEditBox = DirectCast(sender, RadMaskedEditBox) RemoveHandler control.ValueChanged, AddressOf RadMaskedEditBox1_ValueChanged control.MaskedEditBoxElement.TextBoxItem.Text = control.MaskedEditBoxElement.Provider.ToString(False, True) AddHandler control.ValueChanged, AddressOf RadMaskedEditBox1_ValueChanged End Sub
To reproduce: - Set the mask to IP. - Change the culture to German. Workaround: Set the Culture of the RadMaskedEditBox to English.
To reproduce: please refer to the attached sample project and gif file. Workaround: this.radTextBox1.MinimumSize = new System.Drawing.Size(0, 25); or Use RadTextBoxControl
Please refer to the attached gif file demonstrating how to reproduce the problem. Workaround: close the popup when pressing Backspace: this.radTextBox1.TextBoxElement.TextBoxItem.TextBoxControl.KeyDown+=TextBoxControl_KeyDown; private void TextBoxControl_KeyDown(object sender, KeyEventArgs e) { if (e.KeyData== Keys.Back) { TextBoxSpellChecker textBoxSpellChecker = _radSpellChecker.GetControlSpellChecker(typeof(RadTextBox)) as TextBoxSpellChecker; if (textBoxSpellChecker!=null) { textBoxSpellChecker.DropDownMenu.ClosePopup(RadPopupCloseReason.Keyboard); } } }
When using CustomDictionary: DocumentSpellChecker checker = this.radRichTextBoxResponses.SpellChecker as DocumentSpellChecker; RadIsolatedStorageCustomDictionary dict = checker.GetCustomDictionary(new CultureInfo("en-US")) as RadIsolatedStorageCustomDictionary; Adding words to the dictionary using the SpellCheck form saves them to the CustomDictionary.txt file created by the isolated storage. However, the words loaded in memory are not being updated. Currently they can be updated by invoking the following method with reflection: dict.GetType().GetMethod("ReadIsolatedStorage", BindingFlags.Instance | BindingFlags.NonPublic).Invoke(dict, null); This method should be made public.
To reproduce: radDateTimePicker1.MinDate = new DateTime(2013, 9, 1); radDateTimePicker1.MaxDate = new DateTime(2013, 9, 15); radDateTimePicker1.NullDate = new DateTime(2013, 9, 1); radDateTimePicker1.NullText = "text"; Start the app and set the year to "1111", then click some button to cause the date time picker to lose focus. At this point, print the control Text and Value. While the text is correct, the value shows with year "1111" and is not validated by the MinDate 2013/9/1 Workaround - work with null and NullableValue instead of NullDate and a specific date, or use the following class class MyRadDateTimePicker : RadDateTimePicker { public override DateTime Value { get { DateTime? date = this.DateTimePickerElement.Value; if (date.HasValue) { if (date < this.MinDate) { return this.MinDate; } if (date > this.MaxDate) { return this.MaxDate; } return date.Value; } return this.MinDate; } set { base.Value = value; } }
When you set a specific value to the RadTimePicker e.g. new DateTime(2014, 5, 20, 8, 15, 30) and try to change the time via mouse wheel or up/down arrows, the date part is reset to DateTime.Now. Resolution: This broke RadTimePicker functionality because many users have serialized in designer.cs/vb files MinValue and MaxValues and now they date part is take under consideration - this can complete broke its application. Users should keep the date part in separate variable not in TimePicker Value property
To reproduce: this.radDateTimePicker1.Format = DateTimePickerFormat.Short; this.radDateTimePicker1.Value = new DateTime(2016, 5, 12); this.radTextBox1.Text = "9/5/2016"; Second scenario: this.radDateTimePicker1.Format = DateTimePickerFormat.Short; If you copy "1/7/16" and paste it into RadDateTimeicker, the result date will be "1/7/1616". In the previous version, the result was correct 1/7/2016. Copy the value in the text box and paste it in RadDateTimePicker. Workaround: public Form1() { InitializeComponent(); this.radDateTimePicker1.Format = DateTimePickerFormat.Short; this.radDateTimePicker1.Value = new DateTime(2016, 5, 12); this.radTextBox1.Text = "9/5/2016"; this.radDateTimePicker1.ValueChanging += radDateTimePicker1_ValueChanging; this.radDateTimePicker1.DateTimePickerElement.TextBoxElement.TextBoxItem.TextBoxControl.KeyPress += TextBoxControl_KeyPress; } string clipboardData; private void TextBoxControl_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == '\x16') { if (clipboardData != null) { this.radDateTimePicker1.Text = clipboardData; clipboardData = null; } } } private void radDateTimePicker1_ValueChanging(object sender, Telerik.WinControls.UI.ValueChangingEventArgs e) { if (clipboardData == null) { clipboardData = RadMaskedEditBoxElement.GetClipboardText(); } }
The null text is drawn one pixel closer to the bottom of the control.
To reproduce: - Drop RadMarkupDialog on the form - In code set its DefaultFont and show it WORKAROUND: Create an instance of RadMarkupDialog prior showing it, not at design time.
To reproduce: Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("es-CO"); radMaskedEditBox1.MaskType = Telerik.WinControls.UI.MaskType.Numeric; radMaskedEditBox1.Mask = "C2"; radMaskedEditBox1.Culture = new System.Globalization.CultureInfo("es-CO"); Click in the masked edit box and press the decimal separator key in the num pad, the cursor is not moved to the desired position. Workaoround: private void RadMaskedEditBox1_KeyUp(object sender, KeyEventArgs e) { if (e.KeyValue == 46) { var textBoxItem = this.radMaskedEditBox1.MaskedEditBoxElement.TextBoxItem; int indexOfDecimalSeparator = this.radMaskedEditBox1.MaskedEditBoxElement.TextBoxItem.Text.ToLower().IndexOf(','); if (indexOfDecimalSeparator + 1 <= textBoxItem.Text.Length) { textBoxItem.SelectionStart = indexOfDecimalSeparator + 1; } else { textBoxItem.SelectionStart = indexOfDecimalSeparator; } e.Handled = true; } }
Workaround: public Form1() { InitializeComponent();); this.richTextBox1.Text = "thess is is a tesssset"; this.radSpellChecker1.AutoSpellCheckControl = this.richTextBox1; this.radSpellChecker1.SpellingFormShowing += radSpellChecker1_SpellingFormShowing; } private void radSpellChecker1_SpellingFormShowing(object sender, SpellingFormShowingEventArgs e) { e.SpellingForm.FormClosed -= SpellingForm_FormClosed; e.SpellingForm.FormClosed += SpellingForm_FormClosed; } private void SpellingForm_FormClosed(object sender, FormClosedEventArgs e) { this.radSpellChecker1.AutoSpellCheckControl = null; this.radSpellChecker1.AutoSpellCheckControl = this.richTextBox1; }
How to reproduce: public RadForm1() { InitializeComponent(); this.radDateTimePicker1.Format = DateTimePickerFormat.Custom; this.radDateTimePicker1.CustomFormat = "MM/dd/yyyy"; this.radDateTimePicker1.DateTimePickerElement.Calendar.HeaderNavigationMode = Telerik.WinControls.UI.HeaderNavigationMode.Zoom; ((Telerik.WinControls.UI.MaskDateTimeProvider)this.radDateTimePicker1.DateTimePickerElement.TextBoxElement.Provider).AutoSelectNextPart = true; } Workaround: public RadForm1() { InitializeComponent(); this.radDateTimePicker1.Format = DateTimePickerFormat.Custom; this.radDateTimePicker1.CustomFormat = "MM/dd/yyyy"; this.radDateTimePicker1.DateTimePickerElement.Calendar.HeaderNavigationMode = Telerik.WinControls.UI.HeaderNavigationMode.Zoom; ((Telerik.WinControls.UI.MaskDateTimeProvider)this.radDateTimePicker1.DateTimePickerElement.TextBoxElement.Provider).AutoSelectNextPart = true; this.radDateTimePicker1.DateTimePickerElement.TextBoxElement.KeyDown += TextBoxElement_KeyDown; } private void TextBoxElement_KeyDown(object sender, KeyEventArgs e) { RadMaskedEditBoxElement tb = (RadMaskedEditBoxElement)sender; MaskDateTimeProvider provider = (MaskDateTimeProvider)tb.Provider; switch (provider.List[provider.SelectedItemIndex].type) { case PartTypes.Month: if (e.KeyCode == Keys.Left) { provider.SelectedItemIndex = provider.List.Count; } break; case PartTypes.Year: if (e.KeyCode == Keys.Right) { provider.SelectedItemIndex = -1; } break; } }
When: RadDateTimePicker1.Format = DateTimePickerFormat.Custom RadDateTimePicker1.CustomFormat = "hh:mm tt" and you delete the value (with delete key), then you can not set the time back to 12:00 AM by using arrow keys.
To reproduce: - Set the text of the RadMaskedEditBox. - Set The text again and you will notice that the second time the text is not set. Workaround: radMaskedEditBox.Value = null; radMaskedEditBox.Value = _dateValue.ToString("dd.MM.yyyy"); Resolution: Set the InsertKeyMode to Insert/Overwrite of the StandartCharacterMaskEditBoxProvider to turn off/on text insertion. Here is the code snippet: StandartCharacterMaskEditBoxProvider charProvider = ((StandartMaskTextBoxProvider)this.radMaskedEditBox1.MaskedEditBoxElement.Provider).TryGetStandardProvider(); charProvider.InsertKeyMode = InsertKeyMode.Overwrite;