RadTextBox should indicate ReadOnly state
To reproduce: add a RadSpellChecker and a RadTextBoxControl. Set the RadSpellChecker.AutoSpellCheckControl property to the RadTextBoxControl. Please refer to the attached screenshot. Workaround: Dim tbSpellChecker As TextBoxSpellChecker = Me.RadSpellChecker1.GetControlSpellChecker(GetType(RadTextBoxControl)) Dim fi As FieldInfo = GetType(TextBoxSpellChecker).GetField("punctuation", BindingFlags.NonPublic Or BindingFlags.Instance) Dim chars As Char() = " .,;:!?-\\/|~!@#$%^&*()_+=".ToCharArray() fi.SetValue(tbSpellChecker, chars)
To reproduce: add a RadSpellChecker and a RadTextBoxControl and set the RadSpellChecker.AutoSpellCheckControl property to the RadTextBoxControl. When you type "Thisis", the red underline appears, indicating the error. However, if you use the context menu to correct the misspelled word, the red underline remains. Please refer to the attached gif file. Workaround: stop the default context menu and use the spell checking form instead: private void radTextBoxControl1_ContextMenuOpening(object sender,TreeBoxContextMenuOpeningEventArgs e) { e.Cancel = true; this.radSpellChecker1.Check(this.radTextBoxControl1); }
To reproduce: Change the monitors positions in the settings panel and try out on both monitors. Please refer to the attached file. Workaround: Dim tbLocation = Point.Empty Sub New() InitializeComponent() Me.RadTextBox1.Text = "Once uppon " Dim tbSpellChecker As TextBoxSpellChecker = Me.RadSpellChecker1.GetControlSpellChecker(GetType(RadTextBox)) AddHandler tbSpellChecker.DropDownMenu.PopupOpening, AddressOf PopupOpening AddHandler Me.RadTextBox1.TextBoxElement.TextBoxItem.HostedControl.MouseDown, AddressOf RadTextBox1_MouseDown End Sub Private Sub PopupOpening(sender As Object, args As System.ComponentModel.CancelEventArgs) Dim e As RadPopupOpeningEventArgs = TryCast(args, RadPopupOpeningEventArgs) If e IsNot Nothing Then e.CustomLocation = tbLocation End If End Sub Private Sub RadTextBox1_MouseDown(sender As Object, e As MouseEventArgs) If e.Button = Windows.Forms.MouseButtons.Right Then tbLocation = Me.RadTextBox1.PointToScreen(e.Location) End If End Sub
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: - 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.
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: - 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;
To reproduce: - select the whole date and press delete. - the value should be cleared at this point not when the control loses the focus. Workaround: Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load AddHandler RadDateTimePicker1.KeyDown, AddressOf KeyDown_EventHandler End Sub Private Sub KeyDown_EventHandler(sender As Object, e As KeyEventArgs) If e.KeyData = Keys.Delete Then e.Handled = True RadDateTimePicker1.SetToNullValue() End If End Sub
The ToolTipTextNeeded is never fired for this element, and setting the ToolTipText for TokenizedTextBlockElement in TextBlockFormatting does not apply a tooltip for the element. Workaround - set the ShouldHandleMouseInput to true: void radAutoCompleteBox1_TextBlockFormatting(object sender, TextBlockFormattingEventArgs e) { TokenizedTextBlockElement token = e.TextBlock as TokenizedTextBlockElement; if (token != null) { token.ToolTipText = "Testing Tooltip"; token.ShouldHandleMouseInput = true; } }
When the IP is set like this: this.radMaskedEditBox1.Value = "89.111.222.123"; the value in the box is not correct: 891.112.221.23 In addition the user should be able to insert digits not just replace them.
To reproduce: add a RadTextBoxControl and use the following code snippet: private void radTextBoxControl1_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == 13) { radTextBoxControl1.Clear(); } } When you enter some text and hit Enter, the text is cleared, but the caret position remains the same. Workaround: private void radTextBoxControl1_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == 13) { radTextBoxControl1.Clear(); radTextBoxControl1.CaretIndex = 0; } }
To reproduce: 1. Add RadAutoCompleteBox with few items 2. Set the AutoCompleteMode property to SuggestAppend and the WordWrap property to true 3. Start the project and enter 2 times space key. After that press enter key and you will see an exception
The null text is drawn one pixel closer to the bottom of the control.
To reproduce: Add a RadSpellChecker and a RadTextBox. Load a custom dictionary for RadTextBox: DocumentSpellCheckerspellChecker = checker.GetControlSpellChecker(typeof(RadTextBox)).SpellChecker asDocumentSpellChecker; WordDictionarydict = newWordDictionary();  using(MemoryStreamms = newMemoryStream(File.ReadAllBytes("sv-SE.tdf"))) { dict.Load(ms); } spellChecker.AddDictionary(dict, CultureInfo.CurrentCulture); On a button click spell check the textbox when it has the following text: Varfor fungärar innte dettta this.checker.SpellCheckMode = SpellCheckMode.AllAtOnce; this.checker.Check(this.textBox); You will see that the suggested words are not in Swedish. Workaround: Add the dictionary to the RadRichTextBox spell checker: DocumentSpellCheckerrichSpellChecker = checker.GetControlSpellChecker(typeof(RadRichTextBox)).SpellChecker asDocumentSpellChecker; richSpellChecker.AddDictionary(dict, CultureInfo.CurrentCulture); 
To reproduce use the following code: radDateTimePicker1.Format = DateTimePickerFormat.Custom; radDateTimePicker1.CustomFormat = "MM/dd/yyyy hh:mm tt"; (this.radDateTimePicker1.DateTimePickerElement.TextBoxElement.Provider as MaskDateTimeProvider).AutoSelectNextPart = true; now, in the first part, type in "10" and you will be auto moved to the second part. Then, press back, to go back to the first part, and try to type in "01" (entering January). The result is that when you press "0" you are moved to the second part, hence "01" cannot be entered.
When one is typing using Chinese characters, each character is inserted twice.
To reproduce: public Form1() { InitializeComponent(); this.radAutoCompleteBox1.AutoCompleteDataSource = ReturnDummyDataTable(); this.radAutoCompleteBox1.AutoCompleteDisplayMember = "Sum"; this.radAutoCompleteBox1.AutoCompleteValueMember = "Answer"; } private DataTable ReturnDummyDataTable() { DataTable dt = new DataTable(); dt.Columns.Add("Sum"); dt.Columns.Add("Answer"); for (int i = 0; i <= 50; i++) { DataRow DR = default(DataRow); DR = dt.NewRow(); DR[0] = i + " + 1"; DR[1] = (i + 1); i += 1; dt.Rows.Add(DR); } return dt; } private void radButton1_Click(object sender, EventArgs e) { string Buffer = ""; if (this.radAutoCompleteBox1.Items.Count == 0) { } else { foreach (RadTokenizedTextItem item in this.radAutoCompleteBox1.Items) { if (Buffer.Length > 1) { Buffer = Buffer + Environment.NewLine + item.Text + " " + "= " + item.Value; } else { Buffer = item.Text + " " + "= " + item.Value; } } MessageBox.Show(Buffer, "Selected Items", MessageBoxButtons.OK, MessageBoxIcon.Information); } } Workaround: set the AutoCompleteDataSource property after setting the AutoCompleteDisplayMember and the AutoCompleteValueMember properties.