Please run the attached sample project, open the drop down and press the down arrow key.
Observed: application hangs
Expected: since all menu items in the drop down are disabled, nothing is expected to happen. However, the application shouldn't hangs.
Workaround:
public class CustomRadDropDownButtonElement : RadDropDownButtonElement
{
protected override Type ThemeEffectiveType
{
get
{
return typeof(RadDropDownButtonElement);
}
}
protected override RadDropDownButtonPopup CreateDropDown()
{
return new CustomDropDown(this);
}
}
public class CustomDropDown : RadDropDownButtonPopup
{
public CustomDropDown(RadElement ownerElement) : base(ownerElement)
{
}
protected override void EnsureItemEnabled(RadItem item, bool isUp)
{
do
{
item = this.GetNextItem(item, !isUp);
if (item == this.Items.Last())
{
break;
}
} while (!item.Enabled);
if (item != null)
{
this.SelectItem(item);
}
}
}
Repro steps:
Expected behavior:
Observed behavior:
Report steps:
Expected behavior:
Observed behavior:
Extra detail:
In the method MasterGridViewTemplate.PasteDataToRow the next piece is code is located:
if (CurrentView.ViewTemplate.Columns[columnIndex].DataType == typeof(string))
{
if (column is GridViewTextBoxColumn viewTextBoxColumn && viewTextBoxColumn.MaxLength > 0 && rowData[rowIndex].Length > viewTextBoxColumn.MaxLength)
obj = rowData[rowIndex].Substring(0, viewTextBoxColumn.MaxLength);
}
Use the attached sample project.
Sceen 1 (Screen with program shortcuts) on the right in the gif: this screen has display scale 125%
Screen 2 (Screen with the Form) on the left in the gif: this screen has display scale 100%
When all three toolwindows are placed in the forms, there is no issue. The Dropdown list of ToolWindow1 (floating, dockable..) when opened is placed correctly.
If I moved the ToolWindow3 from Screen2 to Screen1 and make it the most recent active window (by clicking on it), I go back to the Screen2 and open the dropdown list of Toolwindow1, this list's position is now wrong and the text size bigger. This is because it takes the display scale (125%) of the screen where the most recent active toolwindow (ToolWindow3 ) is.
If I popup the ToolWindow2, place it in Screen2 (the same screen with ToolWindow1), make ToolWindow2 the most recent active window, and open the dropdown list of Toolwindow1, this list's position is now correct and the text size normal. This is because it takes the display scale (100%) of the screen where the most recent active toolwindow (ToolWindow2 ) is.
Workaround: add app.manifest file and declare the application as DPI aware:
Reproduction steps:
Observed behavior:
Expected behavior:
When I create a new form-class, which derives from RadFrom, and I override the method OnLoad, then OnLoad is called during construction. This should never happen!
As Microsoft states: "The OnLoad method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class."
See: https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.form.onload?view=windowsdesktop-6.0
The OnLoad method can be used to load controls with data. But these controls are not even initialized, because the method InitializeComponent has not been called yet.
Hi,
An HTTP Request returns me an error in HTML format. Please see img001. This image was capture in debug mode in Visual Studio.
When I want to show a MessageBox or a Label with this HTML, appears like in img002.
Thank you!
The HTML text is:
<!doctype html><html lang="en"><head><title>HTTP Status 401 – Unauthorized</title><style type="text/css">body {font-family:Tahoma,Arial,sans-serif;} h1, h2, h3, b {color:white;background-color:#525D76;} h1 {font-size:22px;} h2 {font-size:16px;} h3 {font-size:14px;} p {font-size:12px;} a {color:black;} .line {height:1px;background-color:#525D76;border:none;}</style></head><body><h1>HTTP Status 401 – Unauthorized</h1><hr class="line" /><p><b>Type</b> Status Report</p><p><b>Message</b> Unauthorized</p><p><b>Description</b> The request has not been applied because it lacks valid authentication credentials for the target resource.</p><hr class="line" /><h3>Apache Tomcat/8.5.65</h3></body></html>
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;
}
}
Use a custom font set like this:
this.radSyntaxEditor1.SyntaxEditorElement.EditorFontFamily = new Telerik.WinControls.SyntaxEditor.UI.FontFamily("Cascadia Code");
this.radSyntaxEditor1.SyntaxEditorElement.EditorFontSize = 13;
Then load a large document, at least 10K lines so that the clipping is visible.
The solution in this KB article is used: https://docs.telerik.com/devtools/winforms/knowledge-base/clickonce-application-is-broken
Follow the steps:
1. Set your main monitor to be with higher than 100% DPI scaling (e.g. 175%, 200%)
2. Set the secondary monitor with 100% DPI scaling.
3. Run the exe from the project on the secondary monitor with 100% DPI scaling. You will notice that all controls that host the standard MS TextBox are incorrectly scaled:
Setting the SyntaxEditorElement.HorizontalScrollBar.Visibility property to Collapsed indeed hides the horizontal scrollbar but it is still measured and arranged and overlaps the view if you shrink the view:
So, at this point this seems to be a possible bug. The template project did not setup correctly. I have literally done nothing other than download and install Telerik WinForms today and then try to create this project. This _should_ work or give me instructions of further setup that I have to do manually.
I did try a couple other things, but also failed to get things working.
Restoring packages for C:\DevGit\pws\pws.core\pws.core\pws.core.csproj...
GET https://nuget.telerik.com/v3/package/ui.for.winforms.allcontrols.net60/index.json
GET https://nuget.org/FindPackagesById()?id='UI.for.WinForms.AllControls.Net60'&semVerLevel=2.0.0
OK https://nuget.telerik.com/v3/package/ui.for.winforms.allcontrols.net60/index.json 90ms
GET https://nuget.telerik.com/v3/package/ui.for.winforms.allcontrols.net60/2022.1.222/ui.for.winforms.allcontrols.net60.2022.1.222.nupkg
NotFound https://nuget.org/FindPackagesById()?id='UI.for.WinForms.AllControls.Net60'&semVerLevel=2.0.0 147ms
GET https://nuget.org/FindPackagesById()?id='UI.for.WinForms.AllControls.Net60'&semVerLevel=2.0.0
NotFound https://nuget.org/FindPackagesById()?id='UI.for.WinForms.AllControls.Net60'&semVerLevel=2.0.0 42ms
GET https://nuget.org/FindPackagesById()?id='UI.for.WinForms.AllControls.Net60'&semVerLevel=2.0.0
NotFound https://nuget.org/FindPackagesById()?id='UI.for.WinForms.AllControls.Net60'&semVerLevel=2.0.0 40ms
OK https://nuget.telerik.com/v3/package/ui.for.winforms.allcontrols.net60/2022.1.222/ui.for.winforms.allcontrols.net60.2022.1.222.nupkg 235ms
GET https://nuget.telerik.com/v3/package/system.management/index.json
GET https://nuget.org/FindPackagesById()?id='System.Management'&semVerLevel=2.0.0
....
followed by many more "NotFound" messages.
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.
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.