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.
To reproduce: - Associate the ribbon with the RichtextEditor - Subscribe to the DocumentContentChanged and start the application. - The event is fired because the ribbon is making changes to the document. Workaround: void Form1_Shown(object sender, EventArgs e) { ribbonBar1.AssociatedRichTextEditor = radRichTextEditor1; }
RadRichTextEditor renders the text with a little bigger characters spacing than RadRichTextBox and MS Word.
Note: this text spacing problem can be observed in other Telerik controls as well.
To reproduce: - Add RadRichtextEditor to a form and assosite it with RichTextEditorRibbonBar - Start the application - You will notice that the font is Agency FB. - If you click in the editor the font will change. Workaround: void Form1_Shown(object sender, EventArgs e) { radRichTextEditor1.Focus(); ribbonBar1.GetType().GetMethod("HandleFontStylePropertiesOnCurrentEditingStyleChanged", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).Invoke(ribbonBar1,null); }
To reproduce: - Add two tabs in a PageView - Add RadRichTextEditor in the second tab - Select some text to show the mini toolbar - Select the first page. Workaround void radPageView1_SelectedPageChanged(object sender, EventArgs e) { if (radPageViewPage2.IsContentVisible == false) { radRichTextEditor1.RichTextBoxElement.SelectionMiniToolBar.Hide(); } }