How to reproduce: public Form1() { InitializeComponent(); richTextEditorRibbonBar1.AssociatedRichTextEditor = radRichTextEditor1; radRichTextEditor1.Insert("This is a example for the \"ContextMenu shows up even when disabled\" error. If you right click on a word nothing happens (just as it is supposed to be) now klick \"Find Next Error\" and there it is (not supposed to be)\n\nlkjds klsdjfio jlk sdjfi lsdifuioew rlsoidf sjdiuf oipds jifpodsuf "); radRichTextEditor1.IsContextMenuEnabled = false; } private void dropdown_PopupOpening(object sender, CancelEventArgs args) { args.Cancel = true; } Workaround: public Form1() { InitializeComponent(); richTextEditorRibbonBar1.AssociatedRichTextEditor = radRichTextEditor1; radRichTextEditor1.Insert("This is a example for the \"ContextMenu shows up even when disabled\" error. If you right click on a word nothing happens (just as it is supposed to be) now klick \"Find Next Error\" and there it is (not supposed to be)\n\nlkjds klsdjfio jlk sdjfi lsdifuioew rlsoidf sjdiuf oipds jifpodsuf "); radRichTextEditor1.IsContextMenuEnabled = false; FieldInfo fi = this.radRichTextEditor1.RichTextBoxElement.ContextMenu.GetType().GetField("radDropDownMenu", BindingFlags.Instance | BindingFlags.NonPublic); RadDropDownMenu dropdown = fi.GetValue(this.radRichTextEditor1.RichTextBoxElement.ContextMenu) as RadDropDownMenu; if (dropdown != null) { dropdown.PopupOpening += dropdown_PopupOpening; } } private void dropdown_PopupOpening(object sender, CancelEventArgs args) { args.Cancel = true; }
To reproduce: - Write some text. - Change the current user. - Repeat three or four times. - Open spellchecking dialog.
Workaround: handle the CommandExecuted event and manually adjust the location of these forms public Form1() { InitializeComponent(); this.radRichTextEditor1.CommandExecuted += radRichTextEditor1_CommandExecuted; } private void radRichTextEditor1_CommandExecuted(object sender, Telerik.WinForms.Documents.RichTextBoxCommands.CommandExecutedEventArgs e) { if (e.Command is ShowInsertSymbolWindowCommand) { ((InsertSymbolDialog)this.radRichTextEditor1.RichTextBoxElement.InsertSymbolWindow).Location = Screen.FromControl(this).WorkingArea.Location; } else if (e.Command is ShowFindReplaceDialogCommand) { ((FindReplaceDialog)this.radRichTextEditor1.RichTextBoxElement.FindReplaceDialog).Location = Screen.FromControl(this).WorkingArea.Location; } }
If I drag&drop a RadRichTextEditor i want a wizard like the RichTextBox-WPF-Control. I don't like the ribbon style, because I need a compact editor. So I like the CommandBarStrip look of the "command bar ui"-demo or the ASP.NET Editor.
Workaround: public partial class Form1 : Form { public Form1() { InitializeComponent(); this.AdjustPaddings(0); this.AdjustPaddings(3); } private void AdjustPaddings(int index) { RibbonTab tab = ((RibbonTab)this.richTextEditorRibbonBar1.CommandTabs[0]); RadRibbonBarGroup group = (RadRibbonBarGroup)tab.Items[index]; foreach (RadElement el in group.Items) { el.Padding = new Padding(3, 1, 3, 1); } } }
Workaround: private void radRichTextEditor1_CommentShowing(object sender, Telerik.WinForms.Documents.UI.CommentShowingEventArgs e) { this.radRichTextEditor1.RichTextBoxElement.ContextMenu.Opened-=ContextMenu_Opened; this.radRichTextEditor1.RichTextBoxElement.ContextMenu.Opened+=ContextMenu_Opened; } private void ContextMenu_Opened(object sender, Telerik.WinForms.Documents.UI.Extensibility.ContextMenuPlacementEventArgs e) { this.radRichTextEditor1.RichTextBoxElement.ContextMenu.Hide(); }
Workaround: private void radRichTextEditor1_CommentShowing(object sender, Telerik.WinForms.Documents.UI.CommentShowingEventArgs e) { ((SelectionMiniToolBar) this.radRichTextEditor1.RichTextBoxElement.SelectionMiniToolBar).Shown+=Form1_Shown; } private void Form1_Shown(object sender, EventArgs e) { ((SelectionMiniToolBar)sender).Visible = false; ((SelectionMiniToolBar)sender).VisibleChanged+=Form1_VisibleChanged; } private void Form1_VisibleChanged(object sender, EventArgs e) { ((SelectionMiniToolBar)sender).Visible = false; }
In some cases where you have RTL word and a number, the word order is different than the order displayed in MS Word (see attached doc). This might be related to the applied styles, because if you apply normal style, the order will be the same as in RadRichTextEditor.
Workaround: specify the users' dictionary with colors when the user is changed. private void radRichTextEditor1_UserInfoChanged(object sender, EventArgs e) { FieldInfo fi = typeof(TrackChangesOptions).GetField("userToColorMap", BindingFlags.Instance | BindingFlags.NonPublic) ; Dictionary<string, Telerik.WinControls.RichTextEditor.UI.Color> userToColorMap = fi.GetValue(radRichTextEditor1.RichTextBoxElement.TrackChangesOptions) as Dictionary<string, Telerik.WinControls.RichTextEditor.UI.Color>; userToColorMap = new Dictionary<string, Telerik.WinControls.RichTextEditor.UI.Color>(); userToColorMap.Add("Boby1", Telerik.WinControls.RichTextEditor.UI.Color.FromRgb(0, 255, 255)); userToColorMap.Add("Boby2", Telerik.WinControls.RichTextEditor.UI.Color.FromRgb(255, 0, 255)); fi.SetValue(radRichTextEditor1.RichTextBoxElement.TrackChangesOptions, userToColorMap); }
Workaround: set the FormBorderStyle property to FixedSingle for the respective dialog. RadForm f = this.radRichTextEditor1.RichTextBoxElement.FontPropertiesDialog as RadForm; f.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
To reproduce: use the following code snippet and refer to the attached screenshot. Cells' width should be identical in both of the cases. RadDocument document = new RadDocument(); Section section = new Section(); Table t = new Table(); t.Borders = new TableBorders(new Border(2, Telerik.WinForms.Documents.Model.BorderStyle.Single, Color.Black)); TableRow r1 = new TableRow(); TableCell cell = new TableCell(); Paragraph p = new Paragraph(); Span s = new Span(); s.Text = "Header"; cell.ColumnSpan = 3; p.Inlines.Add(s); cell.Blocks.Add(p); cell.PreferredWidth = new TableWidthUnit(TableWidthUnitType.Percent, 100); r1.Cells.Add(cell); TableRow r2 = new TableRow(); TableCell cell11 = new TableCell(); Paragraph p11 = new Paragraph(); Span s11 = new Span(); s11.Text = "Cell1,1"; p11.Inlines.Add(s11); cell11.Blocks.Add(p11); cell11.PreferredWidth = new TableWidthUnit(TableWidthUnitType.Percent, 40); TableCell cell12 = new TableCell(); Paragraph p12 = new Paragraph(); Span s12 = new Span(); s12.Text = "Cell1,2"; p12.Inlines.Add(s12); cell12.Blocks.Add(p12); cell12.PreferredWidth = new TableWidthUnit(TableWidthUnitType.Percent, 10); TableCell cell13 = new TableCell(); Paragraph p13 = new Paragraph(); Span s13 = new Span(); s13.Text = "Cell1,3"; p13.Inlines.Add(s13); cell13.Blocks.Add(p13); cell13.PreferredWidth = new TableWidthUnit(TableWidthUnitType.Percent, 50); r2.Cells.Add(cell11); r2.Cells.Add(cell12); r2.Cells.Add(cell13); t.Rows.Add(r1); t.Rows.Add(r2); section.Blocks.Add(t); document.Sections.Add(section); this.radRichTextEditor1.Document = document; Workaround: do not specify the PreferredWidth proeprty for cells with ColumnSpan>1
To reproduce: - Set the ParagraphDefaultSpacingAfter to 1. - Start the application and add a comment directly. The issue exist when there is many comments as well. The comment balloons should have minimum size and should not overlap eachother. Workaorund: void radRichTextEditor1_CommandExecuting(object sender, CommandExecutingEventArgs e) { if (e.Command is InsertCommentCommand) { int paragaphs = radRichTextEditor1.Document.Sections.First().Blocks.Count(); if (paragaphs <= 1) { radRichTextEditor1.InsertLineBreak(); } } }
To reproduce: <!DOCTYPE html> <html> <head> <style type="text/css">body { font-family: Segoe UI; } a { color: #5cb85c; } a:hover { color: #000000; }</style> <title>My first HTML document</title> </head> <body> <span style="font-size: 14px; margin-bottom: 5px; display:block;">The Title</span> <ul style="list-style-type:none; padding-left: 0px; margin-left: 0px;"> <li style="margin-left: 0px; padding-left: 0px; font-size: 12px;"> <a href="www.myurl.com">My URL</a> </li> <li style="margin-left: 0px; padding-left: 0px; font-size: 12px;"> <a href="https://www.myurl2.com/">My URL 2</a> </li> </ul> </body> </html>
To reproduce: Use the following code and then select some text: private void radButton1_Click(object sender, EventArgs e) { TxtFormatProvider txtProvider = new TxtFormatProvider(); RichTextEditor.Document = txtProvider.Import(sampleText); RichTextEditor.Document.LineSpacingType = LineSpacingType.Exact; RichTextEditor.Document.LineSpacing =10; DocumentPosition startPosition = RichTextEditor.Document.CaretPosition; DocumentPosition endPosition = new DocumentPosition(startPosition); startPosition.MoveToStartOfDocumentElement(RichTextEditor.Document); endPosition.MoveToEndOfDocumentElement(RichTextEditor.Document); RichTextEditor.Document.Selection.Clear(); RichTextEditor.Document.Selection.AddSelectionStart(startPosition); RichTextEditor.Document.Selection.AddSelectionEnd(endPosition); RichTextEditor.RichTextBoxElement.ChangeFontFamily(new Telerik.WinControls.RichTextEditor.UI.FontFamily("Segoe UI")); RichTextEditor.RichTextBoxElement.ChangeFontSize(Unit.PointToDip(10)); RichTextEditor.Document.Selection.Clear(); } Workaround: RichTextEditor.Document.LineSpacingType = LineSpacingType.Auto; RichTextEditor.Document.LineSpacing =.5;
Workaround: string match = "www.telerik.com"; string text = File.ReadAllText("..\\..\\test.html"); text = text.Replace(match, "http://" + match); File.WriteAllText("..\\..\\test.html", text);
When ignoring incorrect words through the Spelling dialog and you reach the last word in the document which is incorrect, only one more word from the beginning of the document is checked prior showing a message that the check is complete. Instead, all incorrect words starting from the beginning of the document should be spellchecked. The issue is reproduced when adding the incorrect words to the dictionary. In order to reproduce the issue, only "Ignore" or "Add to Dictionary" action should be applied. When the actions are mixed, the issue is not reproduced. Workaround: before opening the spellchecking dialog, move caret in the beginning of the document this.radRichTextEditor1.Document.CaretPosition.MoveToFirstPositionInDocument();
To reproduce: Import a document which contains square brackets and fields (the document must use right to left language).
Please refer to the attached files.