itemfactory.cs

来自「这是一个用C#编写的画图板程序」· CS 代码 · 共 58 行

CS
58
字号
using System;
using System.Drawing;
using System.Drawing.Drawing2D;

namespace Painter.Common
{
	/// <summary>
	/// ItemFactory 的摘要说明。
	/// </summary>
	public class ItemFactory
	{
		public ItemFactory()
		{
		}
		public static MyItem CreateItem(ItemType type,params object[] ItemParam)
		{
			MyItem item;
			try
			{
				switch(type) 
				{
					case ItemType.Line:
						item = new MyLine((int)ItemParam[0],(int)ItemParam[1],
							(int)ItemParam[2],(int)ItemParam[3],
							(Color)ItemParam[4],
							(float)ItemParam[5],
							(DashStyle)ItemParam[6]);
						break;
					case ItemType.RectAngle:
						item = new MyRectAngle((int)ItemParam[0],(int)ItemParam[1],
							(int)ItemParam[2],(int)ItemParam[3],
							(Color)ItemParam[4],
							(float)ItemParam[5],
							(DashStyle)ItemParam[6]);
						break;
					case ItemType.Circle:
						item = new MyCircle((int)ItemParam[0],
							(int)ItemParam[1],
							(int)ItemParam[2],
							(int)ItemParam[3],
							(Color)ItemParam[4],
							(float)ItemParam[5],
							(DashStyle)ItemParam[6]);

						break;
					default:
						item = null;
						break;
				}
			}catch
			{
				throw new Exception("创建图像元素实例失败!");
			}
			return item;
		}
	}
}

⌨️ 快捷键说明

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