簡體   English   中英

使用畫圖時如何在WinForms中實現垂直和水平滾動條?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM