Hello.
In my program I need to create a UserControl that contains Telerik Controls and place them on forms (using RadForm). Everything looks fine until you change the DPI settings in the system. Image with the result of the work of the form in the attached files. At the top of the screen, it's just on the form, at the bottom I'm using UserControl. Tell me how to fix it. For RadForm and UserControl, I set AutoScaleMode.DPI and also I need to use the font Segoe UI 9.75
I use Telerik 2018.2 with .Net 3.5 Below I gave examples of my code (Forms and controls). I very much rely on your help and advice.
using System;using System.Collections.Generic;using System.ComponentModel;using System.Drawing;using System.Data;using System.Linq;using System.Text;using System.Windows.Forms;namespace Standalone.DpiTest{ public partial class TestControl : UserControl { public TestControl() { InitializeComponent(); } /// <summary> /// Required designer variable. /// </summary> private System.ComponentModel.IContainer components = null; /// <summary> /// Clean up any resources being used. /// </summary> /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Component Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.radLabel1 = new Telerik.WinControls.UI.RadLabel(); this.radLabel2 = new Telerik.WinControls.UI.RadLabel(); this.radTextBox1 = new Telerik.WinControls.UI.RadTextBox(); this.radTextBox2 = new Telerik.WinControls.UI.RadTextBox(); this.tableLayoutPanel1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.radLabel1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.radLabel2)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.radTextBox1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.radTextBox2)).BeginInit(); this.SuspendLayout(); // // tableLayoutPanel1 // this.tableLayoutPanel1.ColumnCount = 2; this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); this.tableLayoutPanel1.Controls.Add(this.radTextBox2, 1, 1); this.tableLayoutPanel1.Controls.Add(this.radLabel1, 0, 0); this.tableLayoutPanel1.Controls.Add(this.radLabel2, 0, 1); this.tableLayoutPanel1.Controls.Add(this.radTextBox1, 1, 0); this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0); this.tableLayoutPanel1.Name = "tableLayoutPanel1"; this.tableLayoutPanel1.RowCount = 3; this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); this.tableLayoutPanel1.Size = new System.Drawing.Size(562, 336); this.tableLayoutPanel1.TabIndex = 0; // // radLabel1 // this.radLabel1.Font = new System.Drawing.Font("Segoe UI", 9.75F); this.radLabel1.Location = new System.Drawing.Point(4, 4); this.radLabel1.Margin = new System.Windows.Forms.Padding(4); this.radLabel1.Name = "radLabel1"; this.radLabel1.Size = new System.Drawing.Size(65, 21); this.radLabel1.TabIndex = 0; this.radLabel1.Text = "Name: "; // // radLabel2 // this.radLabel2.Font = new System.Drawing.Font("Segoe UI", 9.75F); this.radLabel2.Location = new System.Drawing.Point(4, 35); this.radLabel2.Margin = new System.Windows.Forms.Padding(4); this.radLabel2.Name = "radLabel2"; this.radLabel2.Size = new System.Drawing.Size(65, 21); this.radLabel2.TabIndex = 1; this.radLabel2.Text = "Address: "; // // radTextBox1 // this.radTextBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); this.radTextBox1.Font = new System.Drawing.Font("Segoe UI", 9.75F); this.radTextBox1.Location = new System.Drawing.Point(77, 4); this.radTextBox1.Margin = new System.Windows.Forms.Padding(4); this.radTextBox1.Name = "radTextBox1"; this.radTextBox1.Size = new System.Drawing.Size(481, 23); this.radTextBox1.TabIndex = 2; // // radTextBox2 // this.radTextBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); this.radTextBox2.Font = new System.Drawing.Font("Segoe UI", 9.75F); this.radTextBox2.Location = new System.Drawing.Point(77, 35); this.radTextBox2.Margin = new System.Windows.Forms.Padding(4); this.radTextBox2.Name = "radTextBox2"; this.radTextBox2.Size = new System.Drawing.Size(481, 23); this.radTextBox2.TabIndex = 3; // // TestControl // this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; this.Controls.Add(this.tableLayoutPanel1); this.Name = "TestControl"; this.Size = new System.Drawing.Size(562, 336); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel1.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.radLabel1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.radLabel2)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.radTextBox1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.radTextBox2)).EndInit(); this.ResumeLayout(false); } #endregion private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; private Telerik.WinControls.UI.RadTextBox radTextBox2; private Telerik.WinControls.UI.RadLabel radLabel1; private Telerik.WinControls.UI.RadLabel radLabel2; private Telerik.WinControls.UI.RadTextBox radTextBox1; } public partial class DpiTestForm : RadForm { public DpiTestForm() { InitializeComponent(); } /// <summary> /// Required designer variable. /// </summary> private System.ComponentModel.IContainer components = null; /// <summary> /// Clean up any resources being used. /// </summary> /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Windows Form Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.radTextBox2 = new Telerik.WinControls.UI.RadTextBox(); this.radLabel1 = new Telerik.WinControls.UI.RadLabel(); this.radLabel2 = new Telerik.WinControls.UI.RadLabel(); this.radTextBox1 = new Telerik.WinControls.UI.RadTextBox(); this.testControl1 = new Standalone.DpiTest.TestControl(); this.tableLayoutPanel1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.radTextBox2)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.radLabel1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.radLabel2)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.radTextBox1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this)).BeginInit(); this.SuspendLayout(); // // tableLayoutPanel1 // this.tableLayoutPanel1.ColumnCount = 2; this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); this.tableLayoutPanel1.Controls.Add(this.radTextBox2, 1, 1); this.tableLayoutPanel1.Controls.Add(this.radLabel1, 0, 0); this.tableLayoutPanel1.Controls.Add(this.radLabel2, 0, 1); this.tableLayoutPanel1.Controls.Add(this.radTextBox1, 1, 0); this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Top; this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0); this.tableLayoutPanel1.Name = "tableLayoutPanel1"; this.tableLayoutPanel1.RowCount = 3; this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); this.tableLayoutPanel1.Size = new System.Drawing.Size(292, 114); this.tableLayoutPanel1.TabIndex = 1; // // radTextBox2 // this.radTextBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); this.radTextBox2.Font = new System.Drawing.Font("Segoe UI", 9.75F); this.radTextBox2.Location = new System.Drawing.Point(73, 35); this.radTextBox2.Margin = new System.Windows.Forms.Padding(4); this.radTextBox2.Name = "radTextBox2"; this.radTextBox2.Size = new System.Drawing.Size(215, 23); this.radTextBox2.TabIndex = 3; // // radLabel1 // this.radLabel1.Font = new System.Drawing.Font("Segoe UI", 9.75F); this.radLabel1.Location = new System.Drawing.Point(4, 4); this.radLabel1.Margin = new System.Windows.Forms.Padding(4); this.radLabel1.Name = "radLabel1"; this.radLabel1.Size = new System.Drawing.Size(49, 21); this.radLabel1.TabIndex = 0; this.radLabel1.Text = "Name: "; // // radLabel2 // this.radLabel2.Font = new System.Drawing.Font("Segoe UI", 9.75F); this.radLabel2.Location = new System.Drawing.Point(4, 35); this.radLabel2.Margin = new System.Windows.Forms.Padding(4); this.radLabel2.Name = "radLabel2"; this.radLabel2.Size = new System.Drawing.Size(61, 21); this.radLabel2.TabIndex = 1; this.radLabel2.Text = "Address: "; // // radTextBox1 // this.radTextBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); this.radTextBox1.Font = new System.Drawing.Font("Segoe UI", 9.75F); this.radTextBox1.Location = new System.Drawing.Point(73, 4); this.radTextBox1.Margin = new System.Windows.Forms.Padding(4); this.radTextBox1.Name = "radTextBox1"; this.radTextBox1.Size = new System.Drawing.Size(215, 23); this.radTextBox1.TabIndex = 2; // // testControl1 // this.testControl1.Dock = System.Windows.Forms.DockStyle.Fill; this.testControl1.Location = new System.Drawing.Point(0, 114); this.testControl1.Name = "testControl1"; this.testControl1.Size = new System.Drawing.Size(292, 156); this.testControl1.TabIndex = 2; // // DpiTestForm // this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; this.ClientSize = new System.Drawing.Size(292, 270); this.Controls.Add(this.testControl1); this.Controls.Add(this.tableLayoutPanel1); this.Name = "DpiTestForm"; // // // this.RootElement.ApplyShapeToControl = true; this.Text = "DpiTestForm"; this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel1.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.radTextBox2)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.radLabel1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.radLabel2)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.radTextBox1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this)).EndInit(); this.ResumeLayout(false); } #endregion private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; private Telerik.WinControls.UI.RadTextBox radTextBox2; private Telerik.WinControls.UI.RadLabel radLabel1; private Telerik.WinControls.UI.RadLabel radLabel2; private Telerik.WinControls.UI.RadTextBox radTextBox1; private TestControl testControl1; }}