Вам не нужно использовать прокрутки для прокрутки. Вы можете установить AutoScroll
на номер true
. Также, если ваш элемент управления является обычным элементом управления краской, установите AutoScrollMinSize
на подходящее значение. Для нормального управления контейнером вам не нужно самостоятельно манипулировать AutoScrollMinSize
, он будет рассчитываться на основе местоположений дочерних элементов управления. Например:
using System.Drawing;
using System.Windows.Forms;
public partial class UserControl1 : UserControl
{
public UserControl1()
{
InitializeComponent();
this.AutoScroll = true;
}
protected override void OnPaint(PaintEventArgs e)
{
//for a custom paint control, calculate the minimum size which needs scrollbars
//for a normal container control you don't need to calculate minimum size
this.AutoScrollMinSize = new Size(300, 500);
base.OnPaint(e);
var r = this.DisplayRectangle;
r.Width--; r.Height--;
e.Graphics.DrawRectangle(Pens.Red, r);
TextRenderer.DrawText(e.Graphics, "Top-Left", Font, r, ForeColor,
TextFormatFlags.Top | TextFormatFlags.Left);
TextRenderer.DrawText(e.Graphics, "Bottom-Right", Font, r, ForeColor,
TextFormatFlags.Bottom | TextFormatFlags.Right);
}
}
Вам не нужно использовать прокрутки для прокрутки. Вы можете установить 'AutoScroll' в' true'. Кроме того, если ваш элемент управления является настраиваемым элементом управления цветом, установите значение «AutoScrollMinSize» в соответствующее значение. Для нормального управления контейнером вам не нужно самостоятельно манипулировать 'AutoScrollMinSize', он будет рассчитываться на основе местоположений дочерних элементов управления. –