私のコードでは四角形を描いていますが、最大化しても通常は四角形が画面に対して大きすぎます。私はフォームのプロパティAutoScroll
をtrueに設定しましたが、これは何もしないようです。私のフォームには矩形のペイントを除いて何もありません。どうすれば縦と横のスクロールを実装できますか?一人でControl/Form
にAutoScroll = true
を設定ペイントを使用するときにWinFormsで垂直スクロールバーと水平スクロールバーを実装する方法は?
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();
また、AutoScrollMinsizeを適切な値、つまり図面を保持するのに十分な大きさに設定する必要があります。描画するときはそれを知っておく必要があります。 – TaW
@TaWデフォルトでは、AutoScrollMinsizeプロパティは0,0に設定されています。自動的にスクロールする必要がありますか? – Andrew
いいえ、あなたのconrtolが(0,0);-)より小さい場合を除き - スクロールバーが提供しなければならないスペースの大きさを読み取ることができます。 – TaW