Completed
Last Updated: 05 Feb 2019 14:32 by ADMIN

To reproduce:

- Open the Excel-like filtering example in the demo application and sort the second column. 

- The sort icon is over the text. 

Workaround:

private void RadGridView1_SortChanged(object sender, Telerik.WinControls.UI.GridViewCollectionChangedEventArgs e)
{
    this.radGridView1.TableElement.Update(GridUINotifyAction.StateChanged);
}

Approved
Last Updated: 01 Feb 2019 10:47 by ADMIN
Created by: RTA
Comments: 0
Category: UI for WinForms
Type: Feature Request
3
Add support for visualizing and editing charts.
Completed
Last Updated: 31 Jan 2019 13:29 by ADMIN
Created by: Shawn
Comments: 2
Category: UI for WinForms
Type: Bug Report
0

Environment: Telerik WinForms 2018.3.1016.40, VS 2013 Pro U5, Win 10 Ent 64 1809 17763.195

Steps:

Create a new WinForm project with default settings

Add a RadForm with default settings

Add a RadScrollablePanel to the RadForm with default settings

Add a RadPanel inside the RadScrollablePanel with default settings

Add a 3 RadRadioButtons to the RadScrollablePanel  with default settings

Select all 3

Press Ctrl+X to cut the radio buttons.

Actual Result: Visual Studio will immediately hang and any unsaved project work will be lost.

Actual Desire: To be able cut and paste the 3 radio buttons into the RadPanel, just like normal MS WinForm controls in design-time.

Completed
Last Updated: 31 Jan 2019 11:17 by ADMIN

Use attached to reproduce:

- click on the second tab

- collapse the first group

- click the first tab

- click the second tab, both grids are visible

Workaround:

public RadForm1()
{
    InitializeComponent();
    new Telerik.WinControls.RadControlSpy.RadControlSpyForm().Show();

    layoutControlGroupItem3.PropertyChanged += LayoutControlGroupItem3_PropertyChanged;

}

private void LayoutControlGroupItem3_PropertyChanged(object sender, PropertyChangedEventArgs e)
{
    if (e.PropertyName == "IsHidden" || e.PropertyName == "IsExpanded")
    {
        if (layoutControlGroupItem3.IsExpanded)
        {
            layoutControlGroupItem3.ContainerElement.Items[0].Visibility = Telerik.WinControls.ElementVisibility.Visible;
        }
        else
        {
            layoutControlGroupItem3.ContainerElement.Items[0].Visibility = Telerik.WinControls.ElementVisibility.Collapsed;
        }
    }

}

Completed
Last Updated: 31 Jan 2019 11:16 by ADMIN
How to reproduce: 
float ratio = .5f;
private void radButton1_Click(object sender, EventArgs e)
{
    float ratio = .5f;
    this.radPdfViewer1.ExportPage(1, @"..\..\img.jpeg", ratio, true, ImageFormat.Png);
}

Workaround: change the resolution of the document after exporting it with a ratio = 1
private void radButton1_Click(object sender, EventArgs e)
{
    float ratio = .5f;
    Bitmap bmp = this.radPdfViewer1.ExportPage(1, 1, true, ImageFormat.Png);
    Bitmap resizedImage = this.ResizeImage(bmp, (int)(bmp.Width * ratio), (int)(bmp.Height * ratio));
    resizedImage.Save(@"..\..\img2.jpeg");
}

public Bitmap ResizeImage(Image image, int width, int height)
{
    Rectangle destRect = new Rectangle(0, 0, width, height);
    Bitmap destImage = new Bitmap(width, height);
    destImage.SetResolution(image.HorizontalResolution, image.VerticalResolution);

    using (var graphics = Graphics.FromImage(destImage))
    {
        graphics.CompositingMode = CompositingMode.SourceCopy;
        graphics.CompositingQuality = CompositingQuality.HighQuality;
        graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
        graphics.SmoothingMode = SmoothingMode.HighQuality;
        graphics.PixelOffsetMode = PixelOffsetMode.HighQuality;

        using (var wrapMode = new ImageAttributes())
        {
            wrapMode.SetWrapMode(WrapMode.TileFlipXY);
            graphics.DrawImage(image, destRect, 0, 0, image.Width, image.Height, GraphicsUnit.Pixel, wrapMode);
        }
    }

    return destImage;
}
Approved
Last Updated: 31 Jan 2019 07:48 by ADMIN
The functionality should be similar to the one in RadRibbonBar: https://docs.telerik.com/devtools/winforms/controls/ribbonbar/designing-radribbonbar/adding-key-tips
Approved
Last Updated: 30 Jan 2019 11:24 by ADMIN
Check the attached video 

or:

1. Insert some text

2. Change its span properties (e.g. set the font weight to Bold)

3. Position the caret right after the last letter of this text and type several letters

Observed: The span properties are applied to the new text as well

Expected: The new text shouldn't have those properties
Approved
Last Updated: 21 Jan 2019 07:28 by ADMIN
Created by: Shawn
Comments: 1
Category: UI for WinForms
Type: Feature Request
0

I have a custom Fluent theme as a package, it would be nice if there was a way to load packages (Embedded Resource or files) with the RadThemeManager.

Rather than typing this: Telerik.WinControls.ThemeResolutionService.LoadPackageResource("GUI.Themes.Fluent_Custom.tssp");

Right now the RadThemeManager only supports XML files. Feeding it a tssp file doesn't work.

 

For it to show up in design-time I have to assign it all of the unpackaged XML files and then delete the RadThemeManager for the theme to show up, otherwise the load time is like 7 seconds, where as embedded packages load super fast.

The fluent theme has a lot of XML files and this is a huge pain, supporting 1 Embedded Resource tssp package would be nice.

 

Would also be nice if the RadThemeManager could apply/change a theme globally somewhere in the SmartTag menu or RadThemeManager properties.

Instead of having to type this: ThemeResolutionService.ApplicationThemeName = "Fluent_Custom";

Completed
Last Updated: 18 Jan 2019 15:14 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Sr.
Comments: 3
Category: UI for WinForms
Type: Bug Report
3
To reproduce: run the sample project, open the test.rtf file and start scrolling with the mouse. As a result, you will encounter the following error:

************** Exception Text **************
System.ArgumentException: Parameter is not valid.
   at System.Drawing.Image.get_RawFormat()
   at System.Drawing.Graphics.IgnoreMetafileErrors(Image image, Int32& errorStatus)
   at System.Drawing.Graphics.DrawImage(Image image, Single x, Single y, Single width, Single height)
   at System.Drawing.Graphics.DrawImage(Image image, RectangleF rect)
   at Telerik.WinControls.RichTextEditor.UI.GDIPaintingContext.DrawImage(Image image, RectangleF rectangle, Double opacity)
   at Telerik.WinControls.RichTextEditor.UI.Image.PaintCore(IPaintingContext context)
   at Telerik.WinControls.RichTextEditor.UI.UIElement.Paint(IPaintingContext context)
   at Telerik.WinControls.RichTextEditor.UI.FrameworkElement.PaintElement(IGraphics graphics, Single angle, SizeF scale)
   at Telerik.WinControls.RadElement.DoOwnPaint(IGraphics graphics, Single angle, SizeF scale)
   at Telerik.WinControls.RadElement.Paint(IGraphics graphics, Rectangle clipRectangle, Single angle, SizeF scale, Boolean useRelativeTransformation)
   at Telerik.WinControls.RadElement.PaintOverride(IGraphics graphics, Rectangle clipRectangle, Single angle, SizeF scale, Boolean useRelativeTransformation)
   at Telerik.WinControls.RadElement.PaintChild(RadElement child, IGraphics graphics, Rectangle clipRectange, Single angle, SizeF scale, Boolean useRelativeTransformation)
   at Telerik.WinControls.RadElement.PaintChildren(IGraphics graphics, Rectangle clipRectange, Single angle, SizeF scale, Boolean useRelativeTransformation)
   at Telerik.WinControls.VisualElement.PaintChildren(IGraphics graphics, Rectangle clipRectange, Single angle, SizeF scale, Boolean useRelativeTransformation)
   at Telerik.WinControls.RadElement.Paint(IGraphics graphics, Rectangle clipRectangle, Single angle, SizeF scale, Boolean useRelativeTransformation)
   at Telerik.WinControls.RadElement.PaintOverride(IGraphics graphics, Rectangle clipRectangle, Single angle, SizeF scale, Boolean useRelativeTransformation)
   at Telerik.WinControls.RadElement.PaintChild(RadElement child, IGraphics graphics, Rectangle clipRectange, Single angle, SizeF scale, Boolean useRelativeTransformation)
   at Telerik.WinControls.RadElement.PaintChildren(IGraphics graphics, Rectangle clipRectange, Single angle, SizeF scale, Boolean useRelativeTransformation)
   at Telerik.WinControls.VisualElement.PaintChildren(IGraphics graphics, Rectangle clipRectange, Single angle, SizeF scale, Boolean useRelativeTransformation)
   at Telerik.WinControls.RadElement.Paint(IGraphics graphics, Rectangle clipRectangle, Single angle, SizeF scale, Boolean useRelativeTransformation)
   at Telerik.WinControls.RadElement.PaintOverride(IGraphics graphics, Rectangle clipRectangle, Single angle, SizeF scale, Boolean useRelativeTransformation)
   at Telerik.WinControls.RadElement.PaintChild(RadElement child, IGraphics graphics, Rectangle clipRectange, Single angle, SizeF scale, Boolean useRelativeTransformation)
   at Telerik.WinControls.RadElement.PaintChildren(IGraphics graphics, Rectangle clipRectange, Single angle, SizeF scale, Boolean useRelativeTransformation)
   at Telerik.WinControls.VisualElement.PaintChildren(IGraphics graphics, Rectangle clipRectange, Single angle, SizeF scale, Boolean useRelativeTransformation)
   at Telerik.WinControls.RadElement.Paint(IGraphics graphics, Rectangle clipRectangle, Single angle, SizeF scale, Boolean useRelativeTransformation)
   at Telerik.WinControls.RadElement.PaintOverride(IGraphics graphics, Rectangle clipRectangle, Single angle, SizeF scale, Boolean useRelativeTransformation)
   at Telerik.WinControls.RadElement.PaintChild(RadElement child, IGraphics graphics, Rectangle clipRectange, Single angle, SizeF scale, Boolean useRelativeTransformation)
   at Telerik.WinControls.RadElement.PaintChildren(IGraphics graphics, Rectangle clipRectange, Single angle, SizeF scale, Boolean useRelativeTransformation)
   at Telerik.WinControls.VisualElement.PaintChildren(IGraphics graphics, Rectangle clipRectange, Single angle, SizeF scale, Boolean useRelativeTransformation)
   at Telerik.WinControls.RadElement.Paint(IGraphics graphics, Rectangle clipRectangle, Single angle, SizeF scale, Boolean useRelativeTransformation)
   at Telerik.WinControls.RadElement.PaintOverride(IGraphics graphics, Rectangle clipRectangle, Single angle, SizeF scale, Boolean useRelativeTransformation)
   at Telerik.WinControls.RadElement.PaintChild(RadElement child, IGraphics graphics, Rectangle clipRectange, Single angle, SizeF scale, Boolean useRelativeTransformation)
   at Telerik.WinControls.RadElement.PaintChildren(IGraphics graphics, Rectangle clipRectange, Single angle, SizeF scale, Boolean useRelativeTransformation)
   at Telerik.WinControls.VisualElement.PaintChildren(IGraphics graphics, Rectangle clipRectange, Single angle, SizeF scale, Boolean useRelativeTransformation)
   at Telerik.WinControls.RadElement.Paint(IGraphics graphics, Rectangle clipRectangle, Single angle, SizeF scale, Boolean useRelativeTransformation)
   at Telerik.WinControls.RadElement.PaintOverride(IGraphics graphics, Rectangle clipRectangle, Single angle, SizeF scale, Boolean useRelativeTransformation)
   at Telerik.WinControls.RadElement.PaintChild(RadElement child, IGraphics graphics, Rectangle clipRectange, Single angle, SizeF scale, Boolean useRelativeTransformation)
   at Telerik.WinControls.RadElement.PaintChildren(IGraphics graphics, Rectangle clipRectange, Single angle, SizeF scale, Boolean useRelativeTransformation)
   at Telerik.WinControls.VisualElement.PaintChildren(IGraphics graphics, Rectangle clipRectange, Single angle, SizeF scale, Boolean useRelativeTransformation)
   at Telerik.WinControls.RadElement.Paint(IGraphics graphics, Rectangle clipRectangle, Single angle, SizeF scale, Boolean useRelativeTransformation)
   at Telerik.WinControls.RadElement.PaintOverride(IGraphics graphics, Rectangle clipRectangle, Single angle, SizeF scale, Boolean useRelativeTransformation)
   at Telerik.WinControls.RadElement.PaintChild(RadElement child, IGraphics graphics, Rectangle clipRectange, Single angle, SizeF scale, Boolean useRelativeTransformation)
   at Telerik.WinControls.RadElement.PaintChildren(IGraphics graphics, Rectangle clipRectange, Single angle, SizeF scale, Boolean useRelativeTransformation)
   at Telerik.WinControls.VisualElement.PaintChildren(IGraphics graphics, Rectangle clipRectange, Single angle, SizeF scale, Boolean useRelativeTransformation)
   at Telerik.WinControls.RadElement.Paint(IGraphics graphics, Rectangle clipRectangle, Single angle, SizeF scale, Boolean useRelativeTransformation)
   at Telerik.WinControls.RadItem.PaintOverride(IGraphics screenRadGraphics, Rectangle clipRectangle, Single angle, SizeF scale, Boolean useRelativeTransformation)
   at Telerik.WinControls.RadControl.OnPaint(PaintEventArgs e)
   at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer)
   at System.Windows.Forms.Control.WmPaint(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at Telerik.WinControls.RadControl.WndProc(Message& m)
   at Telerik.WinControls.UI.RadRichTextEditor.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Completed
Last Updated: 16 Jan 2019 13:26 by ADMIN

Sometimes when copying from word is duplicating some parts of the text.

 

1 - Open the Telerik WinForms Demo Application;

2 - Go to RichTextEditor;

3 - Click on First Look;

4 - Delete All the text (Ctrl + A then Delete);

5 - Open the word document Attached;

6 - Select Everything (Ctrl + A) and copy;

7 - Paste on the RichTextEditor;

8 - The end of the second paragraph is duplicated;

 

Completed
Last Updated: 11 Jan 2019 17:00 by ADMIN
The form fields are not visible in a document created with Foxit pdf-editor.
Completed
Last Updated: 10 Jan 2019 15:41 by ADMIN
The application may freeze for a small period of time if the page view control is created in the DoWork event of BackgroundWorker and later added to the form in its RunWorkerCompleted event.
Completed
Last Updated: 09 Jan 2019 15:48 by ADMIN

To reproduce:

- Set the MaxDropDownItems and the DefaultItemsCountInDropDown and open the popup on HDPI.

Approved
Last Updated: 20 Dec 2018 06:54 by ADMIN
The whole cell is not filled when setting the background.
Under Review
Last Updated: 19 Nov 2018 12:47 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Sr.
Comments: 0
Category: UI for WinForms
Type: Bug Report
3
To reproduce: add a RadLabel and change its cursor to Hand.

 this.radLabel1.Cursor = Cursors.Hand;

The PixelatedHandCursor.png shows the poor quality of the cursor which should be improved.

Workaround: https://stackoverflow.com/questions/6016995/un-antialiased-hand-cursor-in-windows-forms-apps/6017174#6017174

    public class LinkLabelEx : RadLabel
    {
        private const int WM_SETCURSOR = 0x0020;
        private const int IDC_HAND = 32649;

        [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
        private static extern IntPtr LoadCursor(IntPtr hInstance, int lpCursorName);

        [DllImport("user32.dll", CharSet = CharSet.Auto)]
        private static extern IntPtr SetCursor(IntPtr hCursor);

        protected override void WndProc(ref Message m)
        {
            if (m.Msg == WM_SETCURSOR)
            {
                // Set the cursor to use the system hand cursor
                SetCursor(LoadCursor(IntPtr.Zero, IDC_HAND));

                // Indicate that the message has been handled
                m.Result = IntPtr.Zero;
                return;
            }

            base.WndProc(ref m);
        }
    }

The ImprovedCursorRendering.png  shows the improved cursor. 
Approved
Last Updated: 09 Nov 2018 09:18 by ADMIN
ADMIN
Created by: Hristo
Comments: 0
Category: UI for WinForms
Type: Feature Request
1
Implement functionality to rotate the text in a cell.
Approved
Last Updated: 15 Oct 2018 10:51 by ADMIN
When the current SpanLayoutBox is split (for example by inserting space), the DocumentPosition created with trackDocumentChangeEvents option (with some of the constructor accepting the boolean 'trackDocumentChangeEvents' parameter) jumps back with two symbols.
Completed
Last Updated: 15 Oct 2018 06:02 by ADMIN
How to reproduce: test the attached project with the latest version on a Windows 7 machine, notice that the font sizes are scaled, test the project with assemblies before  R2 2017 the fonts are not scaled

The issue is observed even with the RadControl.EnableDpiScaling property set to false. It would be expected that if the property was set to false, that the fonts would not be increased.

Workaround: change the fonts for each of the controls individually, the scaling can be calculated this way:
  Protected Overrides Sub OnShown(e As EventArgs)
        MyBase.OnShown(e)

        Dim dpi = NativeMethods.GetSystemDpi()
        Dim scale = dpi.X / 96.0
    End Sub
Completed
Last Updated: 11 Oct 2018 14:25 by Dimitar
How to reproduce: create the following custom cell and notice that the collapsed elements would still occupy space inside the cell. Check the attached screenshot

public class PNUDFCellElement : GridDataCellElement
{
    public PNUDFCellElement(GridViewColumn column, GridRowElement row) : base(column, row)
    {
    }

    private CustomStackLayoutElement stack;
    private RadDropDownListElement radDropDownListElement;
    private RadDateTimeEditorElement radDateTimeEditorElement;
    private RadTextBoxControlElement radTextBoxElement;

    protected override void CreateChildElements()
    {
        base.CreateChildElements();
        stack = new CustomStackLayoutElement();
        stack.StretchHorizontally = true;
        stack.Orientation = Orientation.Horizontal;
        radDropDownListElement = new RadDropDownListElement();
        radDropDownListElement.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList;
        radDropDownListElement.StretchHorizontally = true;
        radDateTimeEditorElement = new RadDateTimeEditorElement();
        radDateTimeEditorElement.StretchHorizontally = true;
        radTextBoxElement = new RadTextBoxControlElement();
        radTextBoxElement.StretchHorizontally = true;
        stack.Children.Add(radDropDownListElement);
        stack.Children.Add(radDateTimeEditorElement);
        stack.Children.Add(radTextBoxElement);
        this.Children.Add(stack);
    }

    protected override void SetContentCore(object value)
    {
        this.radDropDownListElement.Visibility = Telerik.WinControls.ElementVisibility.Collapsed;
        this.radTextBoxElement.Visibility = Telerik.WinControls.ElementVisibility.Collapsed;
        this.radDateTimeEditorElement.Visibility = Telerik.WinControls.ElementVisibility.Collapsed;

        this.DrawText = false;
        if (this.RowIndex % 3 == 0)
        {
            this.radDropDownListElement.Visibility = Telerik.WinControls.ElementVisibility.Visible;
            this.radDropDownListElement.Text = this.Value + "";
        }
        else if (this.RowIndex % 3 == 1)
        {
            this.radTextBoxElement.Visibility = Telerik.WinControls.ElementVisibility.Visible;
            this.radTextBoxElement.Text = this.Value + "";
        }
        else
        {
            this.radDateTimeEditorElement.Visibility = Telerik.WinControls.ElementVisibility.Visible;
        }

        base.SetContentCore(value);
    }
}

public class CustomDataColumn : GridViewDataColumn
{
    public CustomDataColumn(string fieldName) : base(fieldName)
    {
    }

    public override Type GetCellType(GridViewRowInfo row)
    {
        if (row is GridViewDataRowInfo)
        {
            return typeof(PNUDFCellElement);
        }
        return base.GetCellType(row);
    }
}

Workaround: use a custom StackLayoutElemetn
public class CustomStackLayoutElement : StackLayoutElement
{
    protected override void ArrangeHorizontally(SizeF finalSize)
    {
        RectangleF clientRect = this.GetClientRectangle(finalSize);
        float stretchableWidth = 0;
        int stretchableCount = 0;

        int nonStretchableItems = 0;

        foreach (RadElement element in this.Children)
        {
            if (element.Visibility == ElementVisibility.Collapsed)
            {
                continue;
            }

            if (element.StretchHorizontally)
            {
                stretchableCount++;
            }
            else
            {
                stretchableWidth += element.DesiredSize.Width;
                nonStretchableItems++;
            }
        }

        if (nonStretchableItems > 0)
        {
            stretchableWidth += ElementSpacing * (nonStretchableItems - 1);
        }

        int spacing = this.ElementSpacing;

        if (stretchableCount > 0)
        {
            stretchableWidth = (clientRect.Width - stretchableWidth) / stretchableCount;
            stretchableWidth -= spacing * stretchableCount;
        }

        ArrangeItemsHorizontaly(clientRect, finalSize, stretchableWidth, spacing);
    }

    protected override void ArrangeItemsHorizontaly(RectangleF clientRect, SizeF finalSize, float stretchableWidth, float spacing)
    {
        float x = clientRect.X;
        float y = clientRect.Y;

        List<RadElement> children = new List<RadElement>(this.Children);

        if (this.Comparer != null)
        {
            children.Sort(this.Comparer);
        }

        for (int i = 0; i < children.Count; i++)
        {
            RadElement element = null;

            if (this.RightToLeft && this.RightToLeftMode == RightToLeftModes.ReverseItems)
            {
                element = children[children.Count - i - 1];
            }
            else
            {
                element = children[i];
            }

            if (element.Visibility == ElementVisibility.Collapsed)
            {
                continue;
            }

            RectangleF proposedRect = new RectangleF(x, y, stretchableWidth, clientRect.Height);
            RectangleF finalRect = AlignRect(element, proposedRect);

            if (this.RightToLeft && this.RightToLeftMode == RightToLeftModes.ReverseOffset)
            {
                finalRect.X = finalSize.Width - x - finalRect.Width;
            }

            this.ArrangeElement(element, clientRect, finalRect, finalSize);

            x += finalRect.Width + spacing;
        }
    }
}

Completed
Last Updated: 21 Sep 2018 07:39 by ADMIN
Added in the R3 2018 release: https://docs.telerik.com/devtools/winforms/forms-and-dialogs/form-converter