scribblecomponent.cs

来自「《c#技术内幕代码》」· CS 代码 · 共 87 行

CS
87
字号
using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Windows.Forms;

namespace ch13_paint
{
	/// <summary>
	/// Summary description for ScribbleComponent.
	/// </summary>
	public class ScribbleComponent : System.Windows.Forms.UserControl
	{
		/// <summary> 
		/// Required designer variable.
		/// </summary>
		private System.ComponentModel.Container components = null;
		private System.Drawing.Point fStartPoint;
		private System.Drawing.Point fEndPoint;

		public ScribbleComponent()
		{
			// This call is required by the Windows.Forms Form Designer.
			InitializeComponent();

			fStartPoint = new System.Drawing.Point();
			fEndPoint = new System.Drawing.Point();
		}

		/// <summary> 
		/// Clean up any resources being used.
		/// </summary>
		protected override void Dispose( bool disposing )
		{
			if( disposing )
			{
				if(components != null)
				{
					components.Dispose();
				}
			}
			base.Dispose( disposing );
		}

		#region Component Designer generated code
		/// <summary> 
		/// Required method for Designer support - do not modify 
		/// the contents of this method with the code editor.
		/// </summary>
		private void InitializeComponent()
		{
			// 
			// ScribbleComponent
			// 
			this.Name = "ScribbleComponent";
			this.Paint += new System.Windows.Forms.PaintEventHandler(this.OnPaint);
			this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.OnMouseMove);
			this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.OnMouseDown);

		}
		#endregion

		private void OnMouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
		{
			fEndPoint.X = e.X;
			fEndPoint.Y = e.Y;
			Refresh();

		}

		private void OnMouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
		{
			fStartPoint.X = e.X;
			fStartPoint.Y = e.Y;
		}

		private void OnPaint(object sender, System.Windows.Forms.PaintEventArgs e)
		{
			Pen p = new Pen( System.Drawing.Brushes.Blue, 1 );
			e.Graphics.DrawLine( p, 
				fStartPoint, fEndPoint );

		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?