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;
}
}