How to reproduce:
Add a webcam control to the form and set its ControlPanelHeight property. Close the designer and try to open it. Visual Studio crashes and closes.
When saving the layout of RadDock with SaveToXml, the scaled value of SplitterWidth is saved in high DPI.
The non-scaled value should be saved.
While working with the Ribbon in a RadRibbonForm, I inadvertently removed a ribbon tab. I started recreating the ribbon tab I removed (and all of the child objects). When I got to creating and naming a ribbon button, it notified me that a control with that name already existed. It appeared that child objects, of the ribbon tab I removed, had not been removed from the form.
I tried to select the existing control from the pull-down on the top of the properties window (to find a way to remove it) and Visual Studio 2022 crashed to desktop. I hadn't saved the form I was working on, so it's mostly messed up in the project (the UI is missing), and I will have to delete what is there and start over.
The Telerik UI for WinForms installation puts a system assembly into the GAC folder which breaks a third-party tool that depends on the same assembly.
The possible workaround is to use the old Pdf processing model, by setting the UsePdfProcessingModel property to false.
this.radPdfViewer1.UsePdfProcessingModel = false;
// This switches the thumbnails to the old model too. Otherwise they are blank.
this.radPdfViewer1.ContainerElement.ThumbnailList.UsePdfProcessingModel = false;
HI,
Exploring the Demo Winforms FilterView component a bug is present.
When you expand several categories ,the automatic Vertical Scroll bar is showed but the "Maximum" property value is wrong.
You can't see all the items inside. Some items are hidden at bottom.
But if you collapse some category the new "Maximum" values takes the right previous value before collapsing showing more space as expected
I have a workaround to prevent this situation calling CategoryExpandedChanged event.
Firstly I need to call Application.DoEvents() in order to resizing internally by the component all the StackLayoutPanels connaining the Category Items
After that, I call the private method UpdateScrollBars (Suggested by support) and the ScrollBar takes the right size for its content.
Now I can show all the contained items inside the FilterView panel.
FRC
public partial class RadForm1 : Telerik.WinControls.UI.RadForm
{
public RadForm1()
{
InitializeComponent();
DataTable dt = new DataTable();
for (int i = 0; i < 20; i++)
{
dt.Columns.Add("col" + i, typeof(string));
}
for (int i = 0; i < 10; i++)
{
DataRow r = dt.NewRow();
foreach (DataColumn col in dt.Columns)
{
r[col.ColumnName] = Guid.NewGuid().ToString();
}
dt.Rows.Add(r);
}
this.radFilterView1.DataSource = dt;
}
private void radFilterView1_CategoryCreated(object sender, Telerik.WinControls.UI.FilterView.FilterViewCategoryCreatedEventArgs e)
{
e.Category.ExpandedChanged += Category_ExpandedChanged;
e.Category.Expanded = false;
}
private void Category_ExpandedChanged(object? sender, EventArgs e)
{
// You need pass the control to Windows main loop to perform the pending telerik events after property Expanded change in order to resize internally
// the StackLayoutPanel Containers before calling UpdateScrollBars
Application.DoEvents();
// Now your code
MethodInfo mi = typeof(RadFilterViewElement).GetMethod("UpdateScrollbars", BindingFlags.Instance | BindingFlags.NonPublic);
mi.Invoke(this.radFilterView1.FilterViewElement, new object[] { this.radFilterView1.FilterViewElement.ElementsPanel.Size });
// Hide the horizontal scrolll bar
radFilterView1.FilterViewElement.HorizontalScrollBar.Visibility =ElementVisibility.Collapsed;
}
}
Currently the Enabled state of the buttons is not updated:
With this setup it is expected that the First/Previous and FastBack buttons are disabled. The same is also valid with the Last/Next and FastForward buttons when the last page is current.
A possible workaround is to handle the ViewChanged event of the template and manage the Enabled state of the buttons. Just make sure that the event is subscribed before enabling the paging:
this.radGridView1.MasterTemplate.ViewChanged += this.MasterTemplate_ViewChanged;
this.radGridView1.EnablePaging = true;
private void MasterTemplate_ViewChanged(object sender, DataViewChangedEventArgs args)
{
this.radGridView1.GridViewElement.PagingPanelElement.FirstButton.Enabled = true;
this.radGridView1.GridViewElement.PagingPanelElement.PreviousButton.Enabled = true;
this.radGridView1.GridViewElement.PagingPanelElement.FastBackButton.Enabled = true;
this.radGridView1.GridViewElement.PagingPanelElement.LastButton.Enabled = true;
this.radGridView1.GridViewElement.PagingPanelElement.NextButton.Enabled = true;
this.radGridView1.GridViewElement.PagingPanelElement.FastForwardButton.Enabled = true;
if (this.radGridView1.MasterTemplate.PageIndex == 0)
{
this.radGridView1.GridViewElement.PagingPanelElement.FirstButton.Enabled = false;
this.radGridView1.GridViewElement.PagingPanelElement.PreviousButton.Enabled = false;
this.radGridView1.GridViewElement.PagingPanelElement.FastBackButton.Enabled = false;
}
else if(this.radGridView1.MasterTemplate.PageIndex == this.radGridView1.MasterTemplate.TotalPages - 1)
{
this.radGridView1.GridViewElement.PagingPanelElement.LastButton.Enabled = false;
this.radGridView1.GridViewElement.PagingPanelElement.NextButton.Enabled = false;
this.radGridView1.GridViewElement.PagingPanelElement.FastForwardButton.Enabled = false;
}
}
In English: "dog's" is marked as incorrect
In French: "L'ordinateur" is marked as incorrect
1. Target Framework .NET6 and VS 2022 17.0.1:
2. Install UI.for.WinForms.AllControls.Net60 version 2021.3.1123:
3. Double click the form to open the designer:
4. First try dragging a RadGridView from the toolbox:
5. Install the Nuget package for the toast notification:
6. Install Microsoft.Toolkit.Uwp.Notifications version 7.0.0:
Please make sure that the C:\Program Files (x86)\Progress\ToolboxNuGetPackages folder doesn't contain anything and it is empty. If there is any version available there, please delete it.
7. Now, try opening the designer. It never loads:
To reproduce:
- .NET Core version: 3.1
- Visual Studio 2022: Version 17.0.0 Preview 7.0
- Telerik UI for WinForms version: 2021.3.1019-hotfix
1. Create a new Excel-Inspared template project.
2. Select the Review tab and the Properties section try to open the Items collection.
The attached Error.gif illustrates the steps.
Workaround: use the Smart tag (see SmartTag.gif)
The snap layouts window can be opened by using the Win+Z keyboard combination, but when the mouse is over the Maximize button of RadForm, the window is not shown.
MSDN information is available here: https://docs.microsoft.com/en-us/windows/apps/desktop/modernize/apply-snap-layout-menu
Following the guides from MSDN, we need to override the WndProc method of the form, listen to the WM_NCHITTEST message, and return HTMAXBUTTON result when the mouse is over the maximize button.
private const int HTMAXBUTTON = 9;
protected override void WndProc(ref Message m)
{
if (m.Msg == NativeMethods.WM_NCHITTEST)
{
// Get the hit test location from message parameters
Point location = this.ParseIntPtr(m.LParam);
location = this.GetMappedWindowPoint(location);
// Get the hit tested element and check if it is the Maximize button
RadElement element = this.ElementTree.GetElementAtPoint(location);
if (element == this.FormElement.TitleBar.MaximizeButton)
{
m.Result = new IntPtr(HTMAXBUTTON);
return;
}
}
base.WndProc(ref m);
}
private Point ParseIntPtr(IntPtr param)
{
if (IntPtr.Size == 4) //x86
{
return new Point(param.ToInt32());
}
else //x64
{
long intParam = param.ToInt64();
short x = (short)intParam;
short y = (short)(intParam >> 16);
return new Point(x, y);
}
}
protected virtual Point GetMappedWindowPoint(Point screenPoint)
{
NativeMethods.POINT inputPoint = new NativeMethods.POINT();
inputPoint.x = screenPoint.X;
inputPoint.y = screenPoint.Y;
if (this.IsHandleCreated)
{
NativeMethods.MapWindowPoints(new HandleRef(this, IntPtr.Zero), new HandleRef(this, this.Handle), inputPoint, 1);
}
return new Point(
inputPoint.x + this.FormBehavior.ClientMargin.Left,
inputPoint.y + this.FormBehavior.ClientMargin.Top);
}