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: 20 Oct 2016 15:42 by ADMIN
Completed
Last Updated: 07 Jun 2016 15:32 by ADMIN
When the specified length of the stream is larger than the actual one, Adobe throws errors and removes the image.

Workaround:

Set the format provider settings:

PdfFormatProvider provider = new PdfFormatProvider();
PdfExportSettings exportSettings = new PdfExportSettings();
exportSettings.ContentsDeflaterCompressionLevel = 9;
exportSettings.ImagesDeflaterCompressionLevel = 9;
provider.ExportSettings = exportSettings;
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: 02 Sep 2016 10:00 by ADMIN
Completed
Last Updated: 23 Aug 2016 09:29 by ADMIN
Please refer to the attached screenshot. It is not possible to localize the marked label.

Workaround:

 Sub New()
     InitializeComponent() 
     Me.RadRichTextEditor1.RichTextBoxElement.InsertHyperlinkDialog = New CustomInsertHyperlinkDialog()
 End Sub

 Public Class CustomInsertHyperlinkDialog
     Inherits InsertHyperlinkDialog
     Protected Overrides Sub OnLoad(e As EventArgs)
         MyBase.OnLoad(e)
         Me.Controls("radLabel4").Text = "My address"
     End Sub
 End Class

Completed
Last Updated: 23 Aug 2016 09:03 by ADMIN
Workaround: use a custom RichTextEditorRibbonBar

Public Class CustomRichTextEditorRibbonBar
Inherits RichTextEditorRibbonBar

    Dim headerText As String
    Protected Overrides Function GetInsertTableItems() As RadItemCollection
        Dim collection As RadItemCollection = MyBase.GetInsertTableItems()
        Dim headerItem As RadMenuInsertTableItem = TryCast(collection(0), RadMenuInsertTableItem)
        headerText = "My Header Text"
        Dim fi As FieldInfo = GetType(RadMenuInsertTableItem).GetField("header", BindingFlags.NonPublic Or BindingFlags.Instance)
        Dim header As LightVisualElement = fi.GetValue(headerItem)
        header.Text = headerText
        AddHandler header.TextChanged, AddressOf header_TextChanged
        Return collection
    End Function

    Private Sub header_TextChanged(sender As Object, e As EventArgs)
        Dim lve As LightVisualElement = TryCast(sender, LightVisualElement)
        If lve.Text = "Insert Table" Then
            lve.Text = headerText
        End If
    End Sub
End Class
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: 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;
        }
    }
}
Completed
Last Updated: 14 Sep 2016 15:32 by ADMIN
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: 07 May 2019 08:27 by ADMIN
Release R2 2019
ADMIN
Created by: Dimitar
Comments: 0
Category: RichTextEditor
Type: Bug Report
0
To reproduce:
- Click the AA Styles button to open the Styles dialog.
- Scroll down and select the CodeBlock item
- The style does not change


 
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 Feb 2017 15:20 by ADMIN
Workaround: 
public class CustomRadRichTextEditor : RadRichTextEditor
{
    /// <summary>
    /// Gets or sets the width of the caret.
    /// </summary>
    [Browsable(false)]
    [Category(RadDesignCategory.AppearanceCategory)]
    public new float CaretWidth
    {
        get
        {
            float caretWidth = base.CaretWidth;
            if (float.IsNaN(caretWidth))
            {
                return 2;
            }

            return caretWidth;
        }
        set 
        { 
            base.CaretWidth = value; 
        }
    }
}
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 Oct 2015 07:36 by ADMIN
Completed
Last Updated: 15 Aug 2017 10:29 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: 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();
        }
    }
}