The ChangeFontStyle method does not work when setting Underline:
radRichTextEditor1.ChangeFontStyle( FontStyle.Underline);
Workaround:
radRichTextEditor1.ToggleUnderline();
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>
Add a RadTimePicker to your project and select new time from the popup.
Expected: The clock element inside the popup should be updated accordingly to the newly set value.
Actual: The clock element remains unchanged. It is necessary to close and open the popup again.
Workaround:
private void RadTimePicker1_ValueChanged(object sender, EventArgs e)
{
this.radTimePicker1.TimePickerElement.PopupContentElement.ClockElement.Value = this.radTimePicker1.Value;
}
With the R1 2021 version of our controls RadPdfViewer is using the RadPdfProcessing library model. In this scenario, the PDF document contains images with sizes 87380, 87654. Internally the control is using RenderTargetBitmap to draw the image. So when we pass these values as Width and Height to the constructor of this object an exception occurs. This is a limitation of the RenderTargetBitmap class. It can be reproduced outside of the RadPdfViewer.
RenderTargetBitmap bmp = new RenderTargetBitmap(87380, 87654,96,96,PixelFormats.Pbgra32);
As a workaround, we can use the old rendering engine of the control by setting the RadPdfViewer.UsePdfProcessingModel property to false.
Run the sample project. You will observe the following error:
Here is the code snippet:
public RadForm1()
{
InitializeComponent();
this.radWebCam1.AutoStart = false;
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
ReadOnlyCollection<MediaFoundationDeviceInfo> videoDevices = RadWebCam.GetVideoCaptureDevices();
ReadOnlyCollection<MediaFoundationVideoFormatInfo> videoFormats = RadWebCam.GetVideoFormats(videoDevices[0], true);
ReadOnlyCollection<MediaFoundationDeviceInfo> audioDevices = RadWebCam.GetAudioCaptureDevices();
radWebCam1.Initialize(videoDevices[0], videoFormats[0], audioDevices[0]);
}
protected override void OnShown(EventArgs e)
{
base.OnShown(e);
radWebCam1.Start();
}
Note: It worked in 2022.1.222.40.
Follow the code:
internal static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
RadControl.EnableRadAutoScale = true;
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
string text = "Are you sure you want to exit?";
string caption = "Application";
RadMessageIcon icon = RadMessageIcon.Question;
RadMessageBox.Show(text, caption, MessageBoxButtons.YesNo, icon);
RadMessageBox.Show(text, caption, MessageBoxButtons.YesNoCancel, icon);
When the application is run on a main monitor with 125% DPI scaling, the following result is observed:
Workaround:
RadControl.EnableRadAutoScale = false;
Follow the steps:
1- Add RadRibbonBar1 to the form. The program compiles successfully.
2- Add RibbonTab1 to the RibbonBar. The program compiles successfully.
3. Add RadRibbonBarGroup1. The program does not compile and the mentioned error appears.
Error 1 Invalid Resx file. Could not load type System.DelegateSerializationHolder, Telerik.WinControls.UI, Version=2022.2.622.40, Culture=neutral, PublicKeyToken=5bb2a467cbec794e which is used in the .RESX file. Ensure that the necessary references have been added to your project. Line 142, position 5. C:\Projects\1570764TestRibbonResx\1570764TestRibbonResx\RadForm1.resx 142 5 1570764TestRibbonResx
Run the attached project, click the button and minimize the form.
StackTrace:
at System.Drawing.Bitmap..ctor(Int32 width, Int32 height, PixelFormat format) at System.Drawing.Bitmap..ctor(Int32 width, Int32 height) at Telerik.WinControls.TelerikPaintHelper.GenerateSnapShotWithBitBlt(Control control) at Telerik.WinControls.UI.RadWaitingBar.AddBackgroundImageToAssociatedControlCoverPanel() at Telerik.WinControls.UI.RadWaitingBar.UpdateAssociatedControlLocations() at Telerik.WinControls.UI.RadWaitingBar.associatedControlCover_Layout(Object sender, LayoutEventArgs e) at System.Windows.Forms.Control.OnLayout(LayoutEventArgs levent) at System.Windows.Forms.ScrollableControl.OnLayout(LayoutEventArgs levent) at Telerik.WinControls.RadControl.OnLayout(LayoutEventArgs e) at System.Windows.Forms.Control.PerformLayout(LayoutEventArgs args) at System.Windows.Forms.Control.System.Windows.Forms.Layout.IArrangedElement.PerformLayout(IArrangedElement affectedElement, String affectedProperty) at System.Windows.Forms.Control.OnResize(EventArgs e) at System.Windows.Forms.Control.OnSizeChanged(EventArgs e) at System.Windows.Forms.Control.UpdateBounds(Int32 x, Int32 y, Int32 width, Int32 height, Int32 clientWidth, Int32 clientHeight) at System.Windows.Forms.Control.UpdateBounds() at System.Windows.Forms.Control.WmWindowPosChanged(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 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
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);
}
}
}
Please run the sample project on 100% and 150% DPI scaling. You will notice that with 100% the shown form is centered to its parent, but with 150% it is shifted:
Please run the attached sample project and follow the steps illustrated in the gif file. You will notice the following behavior:
If you select multiple items/nodes and then right click on the last selected item/node, the context menu comes up as expected and multiple selection is kept. But if you right click on any other item/node that is selected,the selected nodes become unselected and only the node you are over becomes selected.
The multiple selection is kept in Windows Explorer and VS Solution explorer wne you right click over an already selected node.
Workaround:
public RadForm1()
{
InitializeComponent();
this.radTreeView1.MultiSelect = true;
this.radTreeView1.AllowDefaultContextMenu = true;
}
class CustomTreeViewElement : RadTreeViewElement
{
protected override Type ThemeEffectiveType
{
get
{
return typeof(RadTreeViewElement);
}
}
protected override bool ProcessMouseDown(MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
RadContextMenu menu = this.ContextMenu;
RadTreeNode node = this.GetNodeAt(e.Location);
if (node!=null)
{
node.Selected = true;
}
if (node != null && node.ContextMenu != null)
{
menu = node.ContextMenu;
}
if (menu == null && this.AllowDefaultContextMenu)
{
menu = this.InitializeDefaultContextMenu(node);
}
if (menu != null)
{
RadControl parentControl = (this.ElementTree.Control as RadControl);
if (parentControl != null)
{
menu.ThemeName = parentControl.ThemeName;
menu.DropDown.RightToLeft = parentControl.RightToLeft;
}
TreeViewContextMenuOpeningEventArgs args = new TreeViewContextMenuOpeningEventArgs(node, menu, this);
OnContextMenuOpening(args);
if (!args.Cancel)
{
menu.Show(this.ElementTree.Control, e.Location);
return true;
};
}
}
return base.ProcessMouseDown(e);
}
}
class CustomTreeView : RadTreeView
{
protected override RadTreeViewElement CreateTreeViewElement()
{
return new CustomTreeViewElement();
}
public override string ThemeClassName
{
get
{
return typeof(RadTreeView).FullName;
}
}
protected override void WndProc(ref Message m)
{
switch (m.Msg)
{
case 0x7b:
return;
}
base.WndProc(ref m);
}
}
VS 2022, Telerik 2022.2.510, NET 6.0 (sample app is attached)
1. Creating sample Telerik WinForms App.
2. Add a RadTextBox
3. Load Event with code
radTextBox1.Text = this.Size.ToString();
4. Run the App
5. Close the App
6. Move the RadTextBox Control at design time.
In design, the height of the form is 2 pixels taller.
Run these steps in a loop. After a few hours of work, the form exceeds the size of the screen.
To recreate the problem:
1. Create a new Telerik Winforms .Net Project
2. Add a radButton
3. Change the font property in the designer to a different size
Workaround: change the font for the TextPrimitive:
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;
}
}