To reproduce: please run the application provided in the ticket. You will notice that RadGridView stops updating. Workaround: use MethodInvoker for the update operation: private void readTicks() { DateTime now = DateTime.Now; Tick previouse = null; for (int i = 0; i < lines.Length; i++) { if (canceled) return; var t = new Tick(); try { try { JsonConvert.PopulateObject(lines[i], t); } catch { continue; } var c = contracts[t.ContractId]; c.Row[(int)t.TickType] = t; c.CurrentTickSetNr++; if (this.radGridView1.InvokeRequired) { this.radGridView1.Invoke(new MethodInvoker(delegate { c.Fire(t); })); } else { c.Fire(t); } previouse = t; OnTick?.Invoke(c.ConId, i); } catch (Exception e) { Debug.WriteLine(e.Message); } } OnDone?.Invoke(this, new EventArgs()); }
If you currently install the nuget package "UI.for.WinForms.Themes", all themes are loaded and referenced. If you only use one theme in the application, you have to remove all others manually. It would be nice if there was an extra package for each theme.
I know it is not an easy task. I love the new vb.net form conversion to telerik form . Could you please make one from vb6 to telerik form conversion. I know I am asking for a lot but I am pretty sure your sales is going to skyrocket with this feature. Please think about it.
To reproduce: -use RadForm with WindowState=Maximized at design-time; -add RadPanel with Dock = Top; -after running the application minimize the form and maximize it again; as a result the form title bar is cut off. Workaround: set Margin of the FormElement and Top docked panel when maximizing: private void Form1_SizeChanged(object sender, EventArgs e) { RadForm form = sender as RadForm; if (form != null) { if (form.WindowState == FormWindowState.Maximized) { form.FormElement.Margin = new Padding(0, 8, 0, 0); (form.Controls[0] as RadPanel).PanelElement.Margin = new Padding(0, 20, 0, 0); } } }
Implement Open Save Dialog, allowing theme customization.
Description: iterate through all the Telerik controls in an application and set a theme to each RadControl at design-time. Resolition: Set the RadForm or RadRibbonForm ThemeName, Then right click on it and press "Apply current form's theme to controls." menu
RadOffice2007ScreenTipElement does not have all themes (except the ControlDefault Theme)
workaround: public class MyGridView : RadGridView { public override string ThemeClassName { get { return typeof(RadGridView).FullName; } } protected override void ProcessCodedUIMessage(ref IPCMessage request) { if (request != null) //here is the problematic point base.ProcessCodedUIMessage(ref request); } }
Use attached to reproduce inside VisualStudio 2017. 1. Run "1342574 ListControl" project 2. Add CodedUI test in "1342574 CodeUISample" project. ("Record actions, edit UI map or add assertions" option) 3. After starting recording, click inside radGridView cell, type something and click Tab. 4. Pause and Generate Code. After running the recorded CodedUI test and you will see that it clicks on the grid cell but does not type any text. Note that the issue is not reproducible in VS 2012.
Workaround: set the property with code this.radListView1.ListViewElement.ViewElement.VScrollBar.MinThumbLength = 50;
How to reproduce: this.radLabel1.Font = new System.Drawing.Font("Arial", 20F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel); Workaround: public class MyRadLabel : RadLabel { public override string ThemeClassName { get { return typeof(RadLabel).FullName; } } protected override RadLabelElement CreateLabelElement() { return new MyRadLabelElement(); } } public class MyRadLabelElement : RadLabelElement { protected override Type ThemeEffectiveType { get { return typeof(RadLabelElement); } } protected override void CreateChildElements() { base.CreateChildElements(); MyTextPrimitive textPrimitive = new MyTextPrimitive(); textPrimitive.Alignment = ContentAlignment.MiddleLeft; textPrimitive.BindProperty(TextPrimitive.TextProperty, this, RadLabelElement.TextProperty, PropertyBindingOptions.TwoWay); textPrimitive.BindProperty(AlignmentProperty, this, RadLabelElement.TextAlignmentProperty, PropertyBindingOptions.OneWay); textPrimitive.SetValue(ImageAndTextLayoutPanel.IsTextPrimitiveProperty, true); textPrimitive.AutoEllipsis = true; textPrimitive.TextWrap = true; ImageAndTextLayoutPanel layoutPanel = this.FindDescendant<ImageAndTextLayoutPanel>(); if (layoutPanel != null) { layoutPanel.Children.RemoveAt(1); layoutPanel.Children.Add(textPrimitive); } } } public class MyTextPrimitive : TextPrimitive { public override Font GetScaledFont(float scale) { Screen screen = Screen.PrimaryScreen; SizeF startScale = new SizeF(1.0f, 1.0f); if (RadControl.EnableDpiScaling) { startScale = NativeMethods.GetMonitorDpi(screen, NativeMethods.DpiType.Effective); } SizeF paintScale = new SizeF(scale / startScale.Width, scale / startScale.Height); Font font = this.Font ?? Control.DefaultFont; string key = paintScale.ToString() + font.FontFamily.Name + font.Size + font.Style.ToString() + font.Unit.ToString() + font.GdiCharSet.ToString() + font.GdiVerticalFont.ToString(); if (this.ScaledFontsCache.ContainsKey(key)) { return this.ScaledFontsCache[key]; } Font scaledFont = new Font(font.FontFamily, font.Size * paintScale.Height, font.Style, font.Unit, font.GdiCharSet, font.GdiVerticalFont); this.ScaledFontsCache.Add(key, scaledFont); return scaledFont; } }
Is it possible to add a Hamburger Menu to the Telerik UI for WinForms? like: https://docs.microsoft.com/en-us/windows/uwp/design/controls-and-patterns/navigationview
How to reproduce: store an image on the file and try to use it this way string path = @"D:\img.png"; this.radLabel1.Text = "<html><img src=" + path + "><b>Test</b></html>"; Workaround: if possible embed the image in the assembly and use it as a resource this.radLabel1.Text = "<html><img src=res:_1133506_RadLabelLinkHtmlLike.img.png><b>Test</b></html>";
Poor support for custom DPI scaling in Windows 7 - Windows 10. There no null checking, and there is dirty hacks: CASE 1: RadPageViewElement public override void DpiScaleChanged(SizeF scaleFactor) { base.DpiScaleChanged(scaleFactor); if (this.Owner != null && this.Owner.Pages.Count > 1) { this.Owner.SuspendEvents(); if (this.Owner.SelectedPage == this.Owner.Pages[0]) { this.Owner.SelectedPage = this.Owner.Pages[1]; // NO NULL CHECKING this.Owner.SelectedPage = this.Owner.Pages[0]; // DIRTY HACK: users can have their own processing OnSelectedPage, which is unexpected here! } else { RadPageViewPage page = this.Owner.SelectedPage; this.Owner.SelectedPage = this.Owner.Pages[0]; this.Owner.SelectedPage = page; } CASE 2: public partial class RadForm1 : Telerik.WinControls.UI.RadForm { public RadForm1() { InitializeComponent(); radWizard1.Pages.Add(new WizardPage()); // when user has 100% Dpi, this code works normally. But if user has custom scale DPI (e.g. 101%), user received System.NullReferenceException: 'Object reference not set to an instance of an object.' (because because again there is no verification for ContentArea = null)... } } Please improve the work with custom DPI scaling!
I have a winforms controls product with specific license of 2017.1.221.40 and I need to know what themes are available for this specific version and how to implement it, since I need to know if I can apply the them "VisualStudio2012DarkTheme" and how do it.
I'd like to represent, update and delete WinForms Scheduler events in a Kendo MVC Web application and visa versa. Some kind of data converter would be appreciated.
Currently the only way to have this work on a windows 10 machine with vs2017 is to install a depreciated version of Build tools 2015. Which causes some conflicts with vs2017 backwards compatibility.
I have literally for weeks now, tried to find a single theme that works properly with High Dpi scaling, including the new material themes. None of them work, I mean not even to the point that, it's just a few quirks. I can't deploy applications, without extensive code to modify the way the controls look. My request, is take something like material (preferably with a professional color scheme), or telerik touch, make the need adjustments to make them HiDpi, and then EXTENSIVELY test it, to insure it works.