Form1.cs
上传用户:lxycoco
上传日期:2022-07-21
资源大小:38457k
文件大小:3k
源码类别:

C#编程

开发平台:

Others

  1. using System;
  2. using System.Drawing;
  3. using System.Collections;
  4. using System.ComponentModel;
  5. using System.Windows.Forms;
  6. using System.Data;
  7. using System.Drawing.Drawing2D;
  8. namespace ScrollMoreShapes
  9. {
  10. /// <summary>
  11. /// Summary description for Form1.
  12. /// </summary>
  13. public class Form1 : System.Windows.Forms.Form
  14. {
  15. /// <summary>
  16. /// Required designer variable.
  17. /// </summary>
  18. private System.ComponentModel.Container components = null;
  19. private Rectangle rectangleBounds = new Rectangle(new Point(0,0), 
  20. new Size(200,200));
  21. private Rectangle ellipseBounds = new Rectangle(new Point(50,200), 
  22. new Size(200,150));
  23. private Pen bluePen = new Pen(Color.Blue, 3);
  24. private Pen redPen = new Pen(Color.Red, 2);
  25. private Brush solidAzureBrush = Brushes.Azure;
  26. private Brush solidYellowBrush = new SolidBrush(Color.Yellow);
  27. static private Brush brickBrush = new HatchBrush(HatchStyle.DiagonalBrick,
  28. Color.DarkGoldenrod, Color.Cyan);
  29. private Pen brickWidePen = new Pen(brickBrush, 10); 
  30. public Form1()
  31. {
  32. //
  33. // Required for Windows Form Designer support
  34. //
  35. InitializeComponent();
  36. this.BackColor = Color.White;
  37. this.Text = "Scroll More Shapes";
  38. //
  39. // TODO: Add any constructor code after InitializeComponent call
  40. //
  41. }
  42. /// <summary>
  43. /// Clean up any resources being used.
  44. /// </summary>
  45. protected override void Dispose( bool disposing )
  46. {
  47. if( disposing )
  48. {
  49. if (components != null) 
  50. {
  51. components.Dispose();
  52. }
  53. }
  54. base.Dispose( disposing );
  55. }
  56. protected override void OnPaint( PaintEventArgs e )
  57. {
  58. base.OnPaint(e);
  59. Graphics dc = e.Graphics;
  60. Point scrollOffset = this.AutoScrollPosition;
  61. dc.TranslateTransform(scrollOffset.X, scrollOffset.Y);
  62. if (e.ClipRectangle.Top+scrollOffset.X < 350 || 
  63. e.ClipRectangle.Left+scrollOffset.Y < 250)
  64. {
  65. dc.DrawRectangle(bluePen, rectangleBounds);
  66. dc.FillRectangle(solidYellowBrush, rectangleBounds);
  67. dc.DrawEllipse(redPen, ellipseBounds);
  68. dc.FillEllipse(solidAzureBrush, ellipseBounds);
  69. dc.DrawLine(brickWidePen, rectangleBounds.Location, 
  70. ellipseBounds.Location+ellipseBounds.Size);
  71. }
  72. }
  73. #region Windows Form Designer generated code
  74. /// <summary>
  75. /// Required method for Designer support - do not modify
  76. /// the contents of this method with the code editor.
  77. /// </summary>
  78. private void InitializeComponent()
  79. {
  80. // 
  81. // Form1
  82. // 
  83. this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
  84. this.ClientSize = new System.Drawing.Size(292, 273);
  85. this.Name = "Form1";
  86. this.Text = "Form1";
  87. this.Load += new System.EventHandler(this.Form1_Load);
  88. }
  89. #endregion
  90. /// <summary>
  91. /// The main entry point for the application.
  92. /// </summary>
  93. [STAThread]
  94. static void Main() 
  95. {
  96. Application.Run(new Form1());
  97. }
  98. private void Form1_Load(object sender, System.EventArgs e)
  99. {
  100. }
  101. }
  102. }