ADD. RadSpellChecker - add ability to disable the "Spell checking complete" message box.
ADD. RadDateTimePicker - add ability to determine the increment/decrement step when Format = Time
Steps to reproduce: 1. Add a RadGridView with a browse column to a form 2. Add a new row. 3. Open the editor and type in a value. After you close the editor you will see that the value is not updated.
You guys expose most of the properties from the "HostedControl" on your custom controls. One that seems to be missing, and requires an unintuitive line of code is the "UseSystemPasswordChar" boolean property from the TextBox. I think it makes a lot of sense to expose this. See: http://www.telerik.com/forums/usesystempasswordchar-property-for-radtextbox
To reproduce: Add a RadDateTimePicker to a form, set your DPI settings to 150% (you will need to re-log from windows), open the form and click the arrow of the RadDateTimePicker to show the dropdown. You will notice that the dropdown is not being scaled accordingly. Workaround: Subscribe to the PropertyChanged event of RadDateTimePicker and scale the dropdown manually: Size initialPopupSize; RadDateTimePicker dateTimePicker; void DateTimePickerElement_PropertyChanged(object sender, PropertyChangedEventArgs e) { if (e.PropertyName == "IsDropDownShown") { RadDateTimePickerCalendar calendar = dateTimePicker.DateTimePickerElement.GetCurrentBehavior() as RadDateTimePickerCalendar; if (calendar.PopupControl.MinimumSize != initialPopupSize && initialPopupSize != Size.Empty) { return; } float scale = 0; float dpi = this.CreateGraphics().DpiX; if (dpi == 96) { scale = 1f; } else if (dpi == 120) { scale = 1.25f; } else if (dpi == 144) { scale = 1.5f; } else if (dpi == 192) { scale = 2f; } Size popupSize = calendar.PopupControl.Size; Size newSize = new Size((int)(popupSize.Width * scale), (int)(popupSize.Height * scale)); calendar.PopupControl.MinimumSize = newSize; initialPopupSize = popupSize; } }
To reproduce: Create a Form, add a RadDateTimePicker and set the ShowUpDown property to true. Create another Form with one button. One click of the button create a new instance of the first form, show it and close it. You will notice that the memory usage will increase as you click more and more.
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(); }
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; }
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.
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
The null text is drawn one pixel closer to the bottom of the control.
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;
When you focus a RadTextBox you will notice the keyboard button that popups next to the focused control. However, for the RadAutoCompleteBox this keyboard button does not show. Workaround: show it manually on the GotFocus event and hide it on the LostFocus event private void radTextBox1_GotFocus(object sender, EventArgs e) { string progFiles = @"C:\Program Files\Common Files\Microsoft Shared\ink"; string keyboardPath = Path.Combine(progFiles, "TabTip.exe"); Process.Start(keyboardPath); } private void radTextBox1_LostFocus(object sender, EventArgs e) { var procs = Process.GetProcessesByName("TabTip"); if (procs.Length != 0) procs[0].Kill(); }
To reproduce: - Add RadDateTimepicker and bind it to a bindingsource. - Set the AutoSelectNextPart property to true. - Set the datasource of the binding source. - The AutoSelectNextPart property is reset to false. Workaround: - Set the property after the bindingsource is initialized.
To reproduce: 1. Drag and drop RadColorBox 2. Add localization provider. Use the following article http://www.telerik.com/help/winforms/forms-and-dialogs-colordialog-localization.html 3. Open ColorDialogForm and choose color which name was localized too. Close the form 54 You will see that the text of RadColorBox is not localized name, it`s system name. Workaround: 1. Subscribe to the ValueChanged event 2. Replace the text of RadColorBox with localized color name void radColorBox_ValueChanged(object sender, EventArgs e) { string localizedColor = Telerik.WinControls.UI.ColorDialogLocalizationProvider.CurrentProvider.GetLocalizedString(this.radColorBox.ColorDialog.SelectedColor.Name); this.radColorBox.ColorBoxElement.TextBoxItem.Text = localizedColor; }
To reproduce: public RadForm1() { InitializeComponent(); this.radTextBoxControl1.Text = "Sample text with misspelledd word"; RadSpellChecker spellChecker1 = new RadSpellChecker(); spellChecker1.AutoSpellCheckControl = radTextBoxControl1; } private void radTextBoxControl1_ContextMenuOpening(object sender, TreeBoxContextMenuOpeningEventArgs e) { RadMenuItem customItem= new RadMenuItem("Custom item"); e.ContextMenu.Items.Add(customItem); } Workaround: use RadTextBox instead: RadSpellChecker spellChecker1 = new RadSpellChecker(); this.radTextBox1.Text = "Sample text with misspelledd word"; spellChecker1.AutoSpellCheckControl = this.radTextBox1; TextBoxSpellChecker tbSpellChecker = spellChecker1.GetControlSpellChecker(typeof(RadTextBox)) as TextBoxSpellChecker; tbSpellChecker.DropDownMenu.DropDownOpening += DropDownMenu_DropDownOpening; private void DropDownMenu_DropDownOpening(object sender, CancelEventArgs e) { RadDropDownMenu menu = sender as RadDropDownMenu; RadMenuItem customItem = new RadMenuItem("Custom item"); menu.Items.Add(customItem); }
The performance can be improved by creating the RadContextMenu only when it is needed not when the element is created.
To reproduce: 1. Add a RadTextBox 2. Set the AutoCompleteMode property to SuggestAppend 3. Add a RadSpellChecker and set the AutoSpellCheckControl property the text box 4. Start typing. You will notice that the autocomplete functionality behaves as expected. But the incorrect words are not underlined. Workaround: use RadTextBoxControl