Declined
Last Updated: 26 Apr 2016 10:02 by ADMIN
To reproduce:
Add image like this:
void button_Click1(object sender, EventArgs e)
{
    Section section = new Section();
    Paragraph paragraph = new Paragraph();
    ImageInline image;
    Telerik.WinControls.RichTextEditor.UI.Size size = new Telerik.WinControls.RichTextEditor.UI.Size(236, 50);
    using (MemoryStream ms = new MemoryStream())
    {
        System.Drawing.Image.FromFile(@"C:\img\delete.png").Save(ms, System.Drawing.Imaging.ImageFormat.Png);
        image = new ImageInline(ms, size, "png");
    }

    paragraph.Inlines.Add(image);
    section.Children.Add(paragraph);
    this.radRichTextEditor1.Document.Sections.Add(section);
}

Workaround:
Manually update the layout:
 this.radRichTextEditor1.UpdateEditorLayout();
Unplanned
Last Updated: 30 Mar 2016 11:22 by ADMIN
To reproduce:
- Add comment and try to select the text with the mouse.

Workaround: use keyboard to select the desired text
Completed
Last Updated: 03 Jun 2015 14:06 by ADMIN
To reproduce:
- Add several RadRichTextEditors to a form.
- Change the icon of the FontPropertiesDialog.
- Close the form and force the garbage collector.

Workaround:
protected override void OnClosing(CancelEventArgs e)
{
    base.OnClosing(e);
    foreach (var item in this.Controls)
    {
        var rte = item as RadRichTextEditor;
        if (rte != null)
        {
            ((FontPropertiesDialog)rte.RichTextBoxElement.FontPropertiesDialog).Dispose();
        }
    }
}
Unplanned
Last Updated: 30 Mar 2016 11:26 by ADMIN
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;
}
Completed
Last Updated: 23 Jul 2015 11:10 by ADMIN
The "Style" gallery is reinitialized each time the AssociatedRichTextEditor is changed.
Completed
Last Updated: 23 Oct 2015 07:36 by ADMIN
Unplanned
Last Updated: 30 Mar 2016 11:27 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 0
Category: RichTextEditor
Type: Bug Report
0

			
Unplanned
Last Updated: 30 Mar 2016 11:27 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 2
Category: RichTextEditor
Type: Bug Report
0
Please refer to the attached files.
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.
Unplanned
Last Updated: 30 Mar 2016 12:20 by ADMIN
Workaround: 
string match = "www.telerik.com";
string text = File.ReadAllText("..\\..\\test.html");
text = text.Replace(match, "http://" + match);
File.WriteAllText("..\\..\\test.html", text);

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: 14 Sep 2016 15:32 by ADMIN
Completed
Last Updated: 20 Oct 2015 11:41 by ADMIN
Workaround:

public partial class Form1 : Form
{
    private Telerik.WinForms.RichTextEditor.RichTextBoxUI.Dialogs.SpellCheckingDialog spellDlg;

    public Form1()
    {
        InitializeComponent();
    }

    private void radButton1_Click(object sender, EventArgs e)
    {
        this.spellDlg = new Telerik.WinForms.RichTextEditor.RichTextBoxUI.Dialogs.SpellCheckingDialog();
        Telerik.WinForms.Documents.UI.Extensibility.SpellCheckingUIManager manager = new Telerik.WinForms.Documents.UI.Extensibility.SpellCheckingUIManager(this.radRichTextEditor1.RichTextBoxElement);

        FieldInfo fi = this.spellDlg.GetType().GetField("suggestionsListBox", BindingFlags.NonPublic | BindingFlags.Instance);
        RadListControl suggestionListBox = fi.GetValue(this.spellDlg) as RadListControl;

        suggestionListBox.DataBindingComplete -= suggestionListBox_DataBindingComplete;
        suggestionListBox.DataBindingComplete += suggestionListBox_DataBindingComplete;
        this.spellDlg.ShowDialog(manager, this.radRichTextEditor1.RichTextBoxElement);
    }

    private void suggestionListBox_DataBindingComplete(object sender, ListBindingCompleteEventArgs e)
    {
        if (((RadListControl)sender).Items.Count == 0)
        {
            FieldInfo fiBtnChange = this.spellDlg.GetType().GetField("buttonChange", BindingFlags.NonPublic | BindingFlags.Instance);
            RadButton btnChange = fiBtnChange.GetValue(this.spellDlg) as RadButton;
            btnChange.Enabled = false;

            FieldInfo fiBtnChangeAll = this.spellDlg.GetType().GetField("buttonChangeAll", BindingFlags.NonPublic | BindingFlags.Instance);
            RadButton btnChangeAll = fiBtnChangeAll.GetValue(this.spellDlg) as RadButton;
            btnChangeAll.Enabled = false;
        }
    }
}
Declined
Last Updated: 21 Sep 2015 13:40 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 1
Category: RichTextEditor
Type: Bug Report
0
To reproduce:

public Form1()
{
    InitializeComponent();
    this.radRichTextEditor1.IsReadOnly = true;
}

Workaround:
private void Form1_Load(object sender, EventArgs e)
{
    this.radRichTextEditor1.IsReadOnly = true;
    Telerik.WinControls.RichTextEditor.UI.DocumentWebLayoutPresenter webLayoutPresenter = 
        this.radRichTextEditor1.RichTextBoxElement.ActiveEditorPresenter as Telerik.WinControls.RichTextEditor.UI.DocumentWebLayoutPresenter;
    webLayoutPresenter.Caret.Width = 0;
}

Unplanned
Last Updated: 30 Mar 2016 12:21 by ADMIN
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>
Completed
Last Updated: 19 Oct 2015 14:21 by ADMIN
Currently, the scrollbars width is calculated only according to  SystemInformation.VerticalScrollBarWidth.

Workaround:
class MyRTE : RadRichTextEditor
{
    protected override void CreateChildItems(RadElement parent)
    {
        var rte = new MyRTEElement();
        typeof(RadRichTextEditor).GetField("richTextBox", BindingFlags.NonPublic | BindingFlags.Instance).SetValue(this, rte);
        parent.Children.Add(rte);

    }
}
public class MyRTEElement : RadRichTextBox
{
    protected override SizeF ArrangeOverride(SizeF finalSize)
    {
        base.ArrangeOverride(finalSize);


        System.Drawing.RectangleF finalRect = new System.Drawing.RectangleF(System.Drawing.PointF.Empty, finalSize);
        System.Drawing.RectangleF clientRect = finalRect;

        System.Drawing.RectangleF horizontalScrollRect = System.Drawing.RectangleF.Empty;
        System.Drawing.RectangleF verticalScrollRect = System.Drawing.RectangleF.Empty;
        System.Drawing.RectangleF presenterArea = clientRect;

        if (this.VerticalScrollBar.Visibility != Telerik.WinControls.ElementVisibility.Collapsed)
        {
            verticalScrollRect = new System.Drawing.RectangleF(
                new System.Drawing.PointF(finalRect.Right - this.VerticalScrollBar.Size.Width, finalRect.Top),
                new System.Drawing.SizeF(this.VerticalScrollBar.Size.Width, finalRect.Height));
        }

        if (this.HorizontalScrollBar.Visibility != Telerik.WinControls.ElementVisibility.Collapsed)
        {
            horizontalScrollRect = new System.Drawing.RectangleF(
                new System.Drawing.PointF(finalRect.Left, finalRect.Bottom - this.HorizontalScrollBar.Size.Height),
                new System.Drawing.SizeF(finalRect.Width, this.HorizontalScrollBar.Size.Height));
            if (this.VerticalScrollBar.Visibility != Telerik.WinControls.ElementVisibility.Collapsed)
            {
                horizontalScrollRect.Width -= this.VerticalScrollBar.Size.Width;
                verticalScrollRect.Height -= this.HorizontalScrollBar.Size.Height;
            }
        }

        presenterArea.Width -= verticalScrollRect.Width;
        presenterArea.Height -= horizontalScrollRect.Height;

        if (this.RightToLeft)
        {
            horizontalScrollRect = Telerik.WinControls.Layouts.LayoutUtils.RTLTranslateNonRelative(horizontalScrollRect, clientRect);
            verticalScrollRect = Telerik.WinControls.Layouts.LayoutUtils.RTLTranslateNonRelative(verticalScrollRect, clientRect);
            presenterArea = Telerik.WinControls.Layouts.LayoutUtils.RTLTranslateNonRelative(presenterArea, clientRect);
        }

        this.VerticalScrollBar.Arrange(verticalScrollRect);
        this.HorizontalScrollBar.Arrange(horizontalScrollRect);
        var contentPresenter = typeof(RadRichTextBox).GetField("contentPresenter", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).GetValue(this) as ContentControl;
        contentPresenter.Arrange(presenterArea);

        return finalSize;
    }
    protected override SizeF MeasureOverride(SizeF availableSize)
    {
        base.MeasureOverride(availableSize);

        System.Drawing.SizeF horizontalScrollSize = System.Drawing.SizeF.Empty;
        System.Drawing.SizeF verticalScrollSize = System.Drawing.SizeF.Empty;
        System.Drawing.SizeF presenterSize = availableSize;

        if (this.VerticalScrollBar.Visibility != Telerik.WinControls.ElementVisibility.Collapsed)
        {
            verticalScrollSize = new System.Drawing.SizeF(this.VerticalScrollBar.Size.Width, availableSize.Height);
        }

        if (this.HorizontalScrollBar.Visibility != Telerik.WinControls.ElementVisibility.Collapsed)
        {
            horizontalScrollSize = new System.Drawing.SizeF(availableSize.Width, this.HorizontalScrollBar.Size.Height);
        }

        presenterSize.Width -= verticalScrollSize.Width;
        presenterSize.Height -= horizontalScrollSize.Height;
        //presenterSize = base.GetClientRectangle(presenterSize).Size;

        this.VerticalScrollBar.Measure(verticalScrollSize);
        this.HorizontalScrollBar.Measure(horizontalScrollSize);

        var contentPresenter = typeof(RadRichTextBox).GetField("contentPresenter", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).GetValue(this) as ContentControl;
        contentPresenter.Measure(presenterSize);

        return availableSize;
    }
    
}

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