こんな画像を表示するアプリがあります
左上の画像サイズ情報はスクロールバーを動かしても常に左上に表示されます
このとき、スクロールバーを動かすと、
左上に表示されてサイズ情報が一緒に動いてしまいます
Form1_ScrollにInvalidateを呼び出せば一応は直るものの、
一瞬だけ一緒に動いてしまう描画が入ってしまうのは止められません
これを抑制したいんですが、なにかいい方法はありますか
csharp
1 public partial class Form1 : Form 2 { 3 Image image; 4 5 public Form1() 6 { 7 this.AutoSize = true; 8 this.DoubleBuffered = true; 9 10 InitializeComponent(); 11 } 12 13 private void Form1_Load(object sender, EventArgs e) 14 { 15 image = new Bitmap("image.jpg"); 16 17 AutoScrollMinSize = image.Size; 18 } 19 20 private void Form1_Paint(object sender, PaintEventArgs e) 21 { 22 var g = e.Graphics; 23 g.DrawImage(image, AutoScrollPosition); 24 25 g.FillRectangle(Brushes.White, new Rectangle(0, 0, 160, 16)); 26 g.DrawString($"{image.Width}x{image.Height}", Font, Brushes.Black, new Point(0, 0)); 27 } 28 29 private void Form1_Scroll(object sender, ScrollEventArgs e) 30 { 31 Invalidate(); 32 } 33 }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/02 08:18
2019/04/02 09:01
2019/04/02 10:11