Completed
Last Updated: 15 Sep 2015 07:32 by ADMIN
To reproduce: use the code snippet below. Please refer to the attached screenshot.

public Form1()
{
    RichTextBoxLocalizationProvider.CurrentProvider = new MyRichTextBoxLocalizationProvider();
    InitializeComponent();
}

public class MyRichTextBoxLocalizationProvider : RichTextBoxLocalizationProvider
{
    public override string GetLocalizedString(string id)
    { 

        return base.GetLocalizedString(id);
    }
}

Workaround: 
Modify the XML file containing all the strings RichTextBoxLocalizationProvider.CurrentProvider = RichTextBoxLocalizationProvider.FromFile(@"C:\RichTextBoxStrings.xml");. You can download a XML file that contains all the currently used strings from here: http://www.telerik.com/docs/default-source/ui-for-winforms/richtextboxstrings.zip?sfvrsn=2
Completed
Last Updated: 20 Oct 2015 08:59 by ADMIN
To reproduce:
1.Use the provided xml file in the following article: http://www.telerik.com/help/winforms/richtexteditor-localization.html and change these strings:

"Documents_ParagraphPropertiesDialog_TextAlignment_Center": "Mittig";
"Documents_ParagraphPropertiesDialog_TextAlignment_Justify": "Block";
"Documents_ParagraphPropertiesDialog_TextAlignment_Left": "Links";
"Documents_ParagraphPropertiesDialog_TextAlignment_Right": "Rechts";

2.Afterwards,  specify the RichTextBoxLocalizationProvider.CurrentProvider by loading the modified file. 
3.Run the application, select some paragraph and try to change its alignment. As a result when the ParagraphPropertiesDialog is opened, incorrect alignment text is displayed in the drop-down. If you select a new value a handled ArgumentException is thrown and the paragraph is not aligned at all.

Workaround: use a custom ParagraphPropertiesDialog:
public Form1()
{
    RichTextBoxLocalizationProvider.CurrentProvider = RichTextBoxLocalizationProvider.FromFile(@"..\..\RichTextBoxStrings - Copy.xml");
     
    InitializeComponent();

    this.radRichTextEditor1.RichTextBoxElement.ParagraphPropertiesDialog = new CustomDialog();
}


public partial class CustomDialog : ParagraphPropertiesDialog
{
    public CustomDialog()
    {
        InitializeComponent();
       
        FieldInfo fi = typeof(ParagraphPropertiesDialog).GetField("radButtonOK", 
            BindingFlags.Instance | BindingFlags.NonPublic);
        RadButton btn = fi.GetValue(this) as RadButton;
     
        btn.MouseDown += btn_MouseDown;
    }
    protected override void OnLoad(EventArgs e)
    {
        base.OnLoad(e); 
        if (selectedItem != null)
        {
            ButtonAlignement.Text = selectedItem.Text;
        }
    }

    public RadDropDownButton ButtonAlignement
    {
        get
        { 
            FieldInfo fi = typeof(ParagraphPropertiesDialog).GetField("radDropDownButtonAlignement",
                BindingFlags.Instance | BindingFlags.NonPublic);
            RadDropDownButton radDropDownButtonAlignement = fi.GetValue(this) as RadDropDownButton;
            return radDropDownButtonAlignement;
        }
    }

    RadMenuItem selectedItem = null;
    RadDropDownButton radDropDownButtonAlignement = null;

    private void btn_MouseDown(object sender, MouseEventArgs e)
    {
        foreach (RadMenuItem item in ButtonAlignement.Items)
        {
            if (item.Text == ButtonAlignement.Text)
            {
                selectedItem = item;
                break;
            }
        }
        if (selectedItem != null)
        {
            ButtonAlignement.Text = selectedItem.Tag.ToString();
        }
    }
}
Completed
Last Updated: 25 Apr 2017 06:26 by ADMIN
To reproduce:
- Add some comments and try to navigate through them.
- Try add or show/hide the comments while the cursor is in one of the comments.

Workaround:
Create a custom RichTextEditorRibbonBar
and override the following methods:

Public Class MyRichTextEditorRibbonBar
    Inherits RichTextEditorRibbonBar

    Protected Overrides Sub ButtonNewComment_Click(sender As Object, e As EventArgs)
        Dim command As New InsertCommentCommand(Me.AssociatedRichTextEditor.RichTextBoxElement)
        Me.ExecuteCommand(command)

    End Sub

    Protected Overrides Sub ButtonDeleteComment_Click(sender As Object, e As EventArgs)
        Dim command As New DeleteCommentCommand(Me.AssociatedRichTextEditor.RichTextBoxElement)
        Me.ExecuteCommand(command)
    End Sub

    Protected Overrides Sub ButtonPreviousComment_Click(sender As Object, e As EventArgs)
        Dim command As New GoToPreviousCommentCommand(Me.AssociatedRichTextEditor.RichTextBoxElement)
        Me.ExecuteCommand(command)
    End Sub

    Protected Overrides Sub ButtonNextComment_Click(sender As Object, e As EventArgs)
        Dim command As New GoToNextCommentCommand(Me.AssociatedRichTextEditor.RichTextBoxElement)
        Me.ExecuteCommand(command)
    End Sub

    Protected Overrides Sub ToggleButtonShowHideComments_ToggleStateChanged(sender As Object, args As StateChangedEventArgs)

        Dim command As New ToggleCommentsCommand(Me.AssociatedRichTextEditor.RichTextBoxElement)
        Me.ExecuteCommand(command)
    End Sub

    Protected Overrides Sub ButtonDeleteAllComments_Click(sender As Object, e As EventArgs)
        Dim command As New DeleteAllCommentsCommand(Me.AssociatedRichTextEditor.RichTextBoxElement)
        Me.ExecuteCommand(command)
    End Sub

    Protected Overrides Sub HandleDocumentCommandExecuted(document As RadDocument)
        MyBase.HandleDocumentCommandExecuted(document)

        Dim hasComments As Boolean = Me.AssociatedRichTextEditor.Document.EnumerateChildrenOfType(Of CommentRangeStart)().Count() > 0

        Me.buttonPreviousComment.Enabled = hasComments
        Me.buttonNextComment.Enabled = hasComments
        Me.buttonDeleteComment.Enabled = hasComments
        Me.buttonDeleteAllComments.Enabled = hasComments
    End Sub

End Class
Completed
Last Updated: 27 Oct 2015 07:34 by ADMIN
When some commands are executed the RibbonUI is not updated.
For example:
private void radButton1_Click(object sender, EventArgs e)
{
    ToggleCommentsCommand command = new ToggleCommentsCommand(radRichTextEditor1.RichTextBoxElement);
    command.Execute();
}

Workaround:
var button = ribbonBar1.GetType().GetField("toggleButtonShowHideComments", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(this.ribbonBar1) as RadToggleButtonElement;
button.ToggleState = (radRichTextEditor1.RichTextBoxElement.ShowComments == true) ? ToggleState.On : ToggleState.Off;          
Completed
Last Updated: 21 Apr 2016 19:55 by ADMIN
To reproduce:

RadDocument document = new RadDocument();
Section section = new Section();
Paragraph p = new Paragraph();
Span span = new Span();
span.Text ="test" + Environment.NewLine + "test";
ReadOnlyRangeStart rangeStart = new ReadOnlyRangeStart();
ReadOnlyRangeEnd rangeEnd = new ReadOnlyRangeEnd();
rangeEnd.PairWithStart(rangeStart);
p.Inlines.Add(rangeStart);
p.Inlines.Add(span);
p.Inlines.Add(rangeEnd);
section.Blocks.Add(p);
document.Sections.Add(section);
this.radRichTextEditor1.Document = document;


Workaround: add an empty span as last inline element in the paragraph:

RadDocument document = new RadDocument();
Section section = new Section();
Paragraph p = new Paragraph();
Span span = new Span();
span.Text ="test" + Environment.NewLine + "test";
ReadOnlyRangeStart rangeStart = new ReadOnlyRangeStart();
ReadOnlyRangeEnd rangeEnd = new ReadOnlyRangeEnd();
rangeEnd.PairWithStart(rangeStart);
p.Inlines.Add(rangeStart);
p.Inlines.Add(span);
p.Inlines.Add(rangeEnd);
///////////////////////////////////////
Span emptySpan = new Span();
emptySpan.Text = " ";
p.Inlines.Add(emptySpan);
///////////////////////////////////////
section.Blocks.Add(p);
document.Sections.Add(section);
this.radRichTextEditor1.Document = document;
Completed
Last Updated: 11 Dec 2015 16:27 by ADMIN
Completed
Last Updated: 20 Oct 2015 13:13 by ADMIN
To reproduce:
-  Use the cut option in the context menu then  dispose the rich text editor and collect the garbage.

Workaround:
Telerik.WinControls.RichTextEditor.UI.ContextMenu menu = textEditor.RichTextBoxElement.ContextMenu as Telerik.WinControls.RichTextEditor.UI.ContextMenu;
textEditor.RichTextBoxElement.ContextMenu = null;

RadDropDownMenu ddm = menu.GetType().GetField("radDropDownMenu", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(menu) as RadDropDownMenu;
Completed
Last Updated: 23 Oct 2015 07:36 by ADMIN
Completed
Last Updated: 23 Jul 2015 11:10 by ADMIN
The "Style" gallery is reinitialized each time the AssociatedRichTextEditor is changed.
Completed
Last Updated: 14 Oct 2015 13:42 by ADMIN
The PreviewEditorKeyDown event is not fired when the user is typing in the editor.

Workaround 
Create custom input behaviour: www.telerik.com/help/winforms/richtexteditor-keyboard-support.html
Completed
Last Updated: 27 Jul 2015 11:26 by ADMIN
Workaround use the following code to programatically toggle the spell check mode: 

RadRibbonBarGroup spellCheckGroup = ((RibbonTab)richTextEditorRibbonBar1.CommandTabs[0]).Items[3] as RadRibbonBarGroup;
RadToggleButtonElement toggleButton = spellCheckGroup.Items[1] as RadToggleButtonElement;
if (this.radRichTextEditor1.IsSpellCheckingEnabled)
{
    toggleButton.CheckState = CheckState.Unchecked;
}
else
{
    toggleButton.CheckState = CheckState.Checked;
}
Completed
Last Updated: 23 Jul 2015 13:06 by ADMIN
Due to a namespace conflict, projects which reference Telerik.WinControls.RichTextBox.dll and target .NET 4.5 or above, cannot be built successfully if they are using some of the conflicting types.
The conflict comes from the ICommand interface (https://msdn.microsoft.com/en-us/library/system.windows.input.icommand%28v=vs.110%29.aspx) which was moved from PresentationCore.dll to System.dll in .NET 4.5.
Completed
Last Updated: 14 Sep 2016 15:32 by ADMIN
Completed
Last Updated: 03 Jun 2016 09:41 by ADMIN
Completed
Last Updated: 06 Jan 2016 11:00 by ADMIN
To reproduce:
- Export document with an inline UI elements to HTML.
- Import the document.

 Workaround:
- Manually export the UI elements information and then create new UI elements when the document is imported:
void ImportSettings_InlineUIContainerImporting(object sender, InlineUIContainerImportingEventArgs e)
{
    PropertyInfo property = typeof(InlineUIContainerImportingEventArgs).GetProperty("Handled");
    property.GetSetMethod(true).Invoke(e, new object[] { true });

    ObjectHandle handle = Activator.CreateInstance("Telerik.WinControls.UI", e.CommentContent);
    Object control = handle.Unwrap();
    InlineUIContainer container = new InlineUIContainer();
    RadElementUIContainer radContainer = new RadElementUIContainer(control as RadElement);
    container.UiElement = radContainer;
    container.Height = 30;
    container.Width = 300;
    e.TargetParagraph.Inlines.Add(container);
}
//export
private void btnWrite_Click(object sender, EventArgs e)
{
    HtmlFormatProvider provider = new HtmlFormatProvider();
    provider.ExportSettings.InlineUIContainerExporting += ExportSettings_InlineUIContainerExporting;         
  
    File.WriteAllText(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\TelerikUITest.html", provider.Export(this.radRichTextEditor1.Document));
}

void ExportSettings_InlineUIContainerExporting(object sender, Telerik.WinForms.Documents.FormatProviders.Html.InlineUIContainerExportingEventArgs e)
{
    string control = ((RadElementUIContainer)e.InlineUIContainer.UiElement).Element.ToString();
    e.CommentContent = control;
}

Completed
Last Updated: 07 Nov 2019 14:19 by ADMIN
Release R1 2020 (LIB 2019.3.1111)

The tab order in the dialog is incorrect, the dialog is not focused when shown.

Workaround: 

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

        radRichTextEditor1.RichTextBoxElement.FindReplaceDialog = new MyFindReplaceDialog();

    }
}
class MyFindReplaceDialog : FindReplaceDialog
{
    public MyFindReplaceDialog()
    {
        this.Controls[0].TabIndex = 2; // FindNext button
        this.Controls[1].TabIndex = 3; // Replace Button
        this.Controls[2].TabIndex = 5; // CloseButton
        this.Controls[3].TabIndex = 4; // Replace All button
        //this.Controls[4].TabIndex = 5; // label
        //this.Controls[5].TabIndex = 5; // label
        this.Controls[6].TabIndex = 1; // RepalceWith textbox
        this.Controls[7].TabIndex = 0; // TextToFind  textbox
         

    }
    protected override void OnShown(EventArgs e)
    {
        base.OnShown(e);
        this.Controls[7].Focus();
    }
}

Completed
Last Updated: 07 Feb 2020 10:00 by ADMIN
Release R1 2020 SP1 (LIB 2020.1.210)

I have a RadRichTextEditor. When it contains multiple lines a vertical scroll bar is shown. When I keep writing and press the enter key to insert a carriage return, it starts a new paragraph but the cursor disappears. 

When I press return at the bottom of this control I want the cursor to be kept in sight. See the screenshots I have attached. You can see that after the return you can only see the very top of the cursor, the rest is hidden. You have to actually manually scroll down to get it into view.

When you start typing, this cursor comes into view, but I want it to be in view even if you just press return. Is there a way to get it to do this?

This seems to be the default behavior of this control, as I have created a new application to show this, which doesn't contain any of the formatting which my actual application does.

Completed
Last Updated: 01 Jul 2019 15:00 by ADMIN
Release R3 2019 (LIB 2019.2.708)
Created by: Tomasz
Comments: 6
Category: RichTextEditor
Type: Bug Report
0

1. Document created via MS-Word, Page orientation is set to Landscape. (MS-Word works OK)

2. Document read into Telerik RichTextEditor and print ignore Landscape settings.

3. Documet "Landscape.rtf" and snapshot in attachmet 

please help me 

Completed
Last Updated: 22 Jul 2019 13:57 by ADMIN
Release R3 2019 (LIB 2019.2.729)

To reproduce:

Type a word and then change the font. The RichTextEditor is not focused. When you click in it the font is restored.

Workaround: 
class MyRichtTextEditorRibbonbar : RichTextEditorRibbonBar
{
    public MyRichtTextEditorRibbonbar()
    {
        this.dropDownListFont.PopupClosed += DropDownListFont_PopupClosed;
    }

    private void DropDownListFont_PopupClosed(object sender, RadPopupClosedEventArgs args)
    {
        this.associatedRichTextEditor.Focus();
    }

  
}