[英]How to implement a vertical and horizontal scroll bar in WinForms when using paint?
在我的代碼中,我繪制了一個矩形,通常該矩形對於屏幕來說太大了,即使最大化也是如此。 我已經將表單屬性AutoScroll
設置為true,這似乎沒有任何作用。 除矩形繪畫外,窗體上沒有其他內容,如何實現垂直和水平滾動?
PrintingDesignForm form = new PrintingDesignForm();
form.Paint += (se, pe) => {
var r = new Rectangle(parameters.RectangleXPosition, parameters.RectangleYPosition, (int)Math.Ceiling(parameters.RectangleWidth) * 72, (int)Math.Ceiling(parameters.RectangleLength) * 72);
var brush = new SolidBrush(Color.FromArgb(255, 255, 204));
pe.Graphics.FillRectangle(brush, r);
using (var pen = new Pen(brush.Color, 2))
pe.Graphics.DrawRectangle(pen, r);
};
form.WindowState = FormWindowState.Maximized;
form.Show();
在表單屬性集中
自動滾動=真
僅在Control/Form
上設置AutoScroll = true
只會確保您添加/嵌套到父級的所有Controls
都將顯示或可以被滾動條訪問,這些滾動條將根據需要顯示。
這對您繪制的內容沒有任何作用。
為了使圖形可滾動,您需要將AutoScrollMinSize
設置為足夠大的值。
如果您事先不知道,那么至少在繪圖時,您應該能夠從數據中確定它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.