|
■No87706 (Take さん) に返信 > カスタムコントロール(Controlクラスを継承しています)を作成し、 > OnPaint() で画面を描画しています。 > ここに縦横にスクロールバーを表示したいのですが、 > どうやって表示させたらいいでしょうか?
using System.Drawing; using System.Drawing.Drawing2D; using System.Windows.Forms;
namespace Example { public partial class UserControl1 : UserControl { public UserControl1() { InitializeComponent(); DoubleBuffered = true; AutoScroll = true; var dummy = new Control(); dummy.TabStop = false; dummy.TabIndex = int.MaxValue; dummy.SetBounds(3000, 3000, 0, 0); Controls.Add(dummy); }
protected override void OnScroll(ScrollEventArgs se) { base.OnScroll(se); Invalidate(); }
protected override void OnPaint(PaintEventArgs e) { var bounds = new Rectangle(AutoScrollPosition, new Size(3000, 3000)); using (var gb = new LinearGradientBrush(bounds, Color.LemonChiffon, Color.Blue, LinearGradientMode.ForwardDiagonal)) { e.Graphics.FillRectangle(gb, bounds); } base.OnPaint(e); } } }
|