Advertisement
Guest User

Untitled

a guest
Jul 6th, 2015
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.89 KB | None | 0 0
  1. namespace TestApp
  2. {
  3. public partial class TestForm
  4. {
  5. private BufferedGraphics graphicsBuffer;
  6. private BufferedGraphicsContext bufferContext = BufferedGraphicsManager.Current;
  7.  
  8. public TestForm()
  9. {
  10. InitializeComponent();
  11. UpdateGraphicsBuffer();
  12. }
  13.  
  14. private void UpdateGraphicsBuffer()
  15. {
  16. bufferContext.MaximumBuffer = new Size(panelRender.Width + 1, panelRender.Height + 1);
  17. graphicsBuffer = bufferContext.Allocate(Graphics.FromHwnd(panelRender.Handle), new Rectangle(49, 49, 100, 100));
  18. graphicsBuffer.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
  19. }
  20.  
  21. private void TestForm_Load(object sender, EventArgs e)
  22. {
  23. graphicsBuffer.Graphics.DrawRectangle(new Pen(Color.Red), 50, 50, 50, 50);
  24. }
  25. }
  26. }
  27.  
  28. using System.Drawing;
  29. using System.Windows.Forms;
  30.  
  31. namespace DoubleBufferTest
  32. {
  33. public partial class Form1 : Form
  34. {
  35. private BufferedGraphics graphicsBuffer = null;
  36. private BufferedGraphicsContext bufferContext = BufferedGraphicsManager.Current;
  37.  
  38. public Form1()
  39. {
  40. this.SetStyle(ControlStyles.SupportsTransparentBackColor | ControlStyles.UserPaint, true);
  41. this.UpdateStyles();
  42. InitializeComponent();
  43. UpdateGraphicsBuffer();
  44. }
  45.  
  46. private void UpdateGraphicsBuffer()
  47. {
  48. bufferContext.MaximumBuffer = new Size(panel1.Width + 1, panel1.Height + 1);
  49. graphicsBuffer = bufferContext.Allocate(Graphics.FromHwnd(panel1.Handle), new Rectangle(10, 10, 50, 50));
  50. }
  51.  
  52. protected override void OnPaint(PaintEventArgs e)
  53. {
  54. base.OnPaint(e);
  55. graphicsBuffer.Graphics.DrawRectangle(new Pen(Color.Red, 3.0f), 20, 20, 10, 10);
  56. graphicsBuffer.Render();
  57. }
  58. }
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement