Commit db456457 kwwwvagaa

增加椭圆转盘、注射器

1 个父辈 3d3e2616
......@@ -98,7 +98,6 @@ namespace HZH_Controls.Controls
//
// ucDataGridView1
//
this.ucDataGridView1.AutoScroll = true;
this.ucDataGridView1.BackColor = System.Drawing.Color.White;
this.ucDataGridView1.Columns = null;
this.ucDataGridView1.DataSource = null;
......@@ -111,6 +110,7 @@ namespace HZH_Controls.Controls
this.ucDataGridView1.IsShowHead = true;
this.ucDataGridView1.Location = new System.Drawing.Point(5, 5);
this.ucDataGridView1.Name = "ucDataGridView1";
this.ucDataGridView1.Padding = new System.Windows.Forms.Padding(0, 40, 0, 0);
this.ucDataGridView1.RowHeight = 30;
this.ucDataGridView1.RowType = typeof(HZH_Controls.Controls.UCDataGridViewRow);
this.ucDataGridView1.Size = new System.Drawing.Size(427, 223);
......@@ -125,6 +125,7 @@ namespace HZH_Controls.Controls
this.m_page.Name = "m_page";
this.m_page.PageCount = 0;
this.m_page.PageIndex = 1;
this.m_page.PageModel = HZH_Controls.Controls.PageModel.Soure;
this.m_page.PageSize = 10;
this.m_page.Size = new System.Drawing.Size(427, 33);
this.m_page.StartIndex = 0;
......
namespace HZH_Controls.Controls
{
partial class UCEllipseDialAisle
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region 组件设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.SuspendLayout();
//
// UCEllipseDialAisle
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));
this.Name = "UCEllipseDialAisle";
this.Size = new System.Drawing.Size(373, 150);
this.ResumeLayout(false);
}
#endregion
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Drawing2D;
namespace HZH_Controls.Controls
{
public partial class UCEllipseDialAisle : UserControl
{
[Description("点击项目事件,sender为项目序号,如果是-1,则表示按下的是中心键"), Category("自定义")]
public event EventHandler ClickItemEvent;
private List<EllipseDialAisleItem> items = new List<EllipseDialAisleItem>();
[Description("节点"), Category("自定义")]
public EllipseDialAisleItem[] Items
{
get { return items.ToArray(); }
set
{
if (value == null)
items = new List<EllipseDialAisleItem>();
else
items = value.ToList();
}
}
private EllipseDialAisleItem centreItem;
[Description("中心节点"), Category("自定义")]
public EllipseDialAisleItem CentreItem
{
get { return centreItem; }
set { centreItem = value; }
}
private bool enabledClick = true;
[Description("是否启用点击"), Category("自定义")]
public bool EnabledClick
{
get { return enabledClick; }
set { enabledClick = value; }
}
private int itemSize = 30;
[Description("节点大小"), Category("自定义")]
public int ItemSize
{
get { return itemSize; }
set { itemSize = value; }
}
private Color borderColor = Color.Red;
[Description("边框颜色"), Category("自定义")]
public Color BorderColor
{
get { return borderColor; }
set { borderColor = value; }
}
Dictionary<EllipseDialAisleItem, RectangleF> m_lstItemRectCache = new Dictionary<EllipseDialAisleItem, RectangleF>();
RectangleF centreRect;
public UCEllipseDialAisle()
{
InitializeComponent();
this.SizeChanged += UCEllipseDialAisle_SizeChanged;
this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
this.SetStyle(ControlStyles.DoubleBuffer, true);
this.SetStyle(ControlStyles.ResizeRedraw, true);
this.SetStyle(ControlStyles.Selectable, true);
this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
this.SetStyle(ControlStyles.UserPaint, true);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
items = new List<EllipseDialAisleItem>();
items.Add(new EllipseDialAisleItem() { Text = "1" });
items.Add(new EllipseDialAisleItem() { Text = "2" });
items.Add(new EllipseDialAisleItem() { Text = "3" });
items.Add(new EllipseDialAisleItem() { Text = "4" });
items.Add(new EllipseDialAisleItem() { Text = "5" });
items.Add(new EllipseDialAisleItem() { Text = "6" });
items.Add(new EllipseDialAisleItem() { Text = "7" });
items.Add(new EllipseDialAisleItem() { Text = "8" });
items.Add(new EllipseDialAisleItem() { Text = "9" });
items.Add(new EllipseDialAisleItem() { Text = "10" });
items.Add(new EllipseDialAisleItem() { Text = "11" });
items.Add(new EllipseDialAisleItem() { Text = "12" });
centreItem = new EllipseDialAisleItem() { Text = "-1" };
UCEllipseDialAisle_SizeChanged(null, null);
this.MouseClick += UCEllipseDialAisle_MouseClick;
}
void UCEllipseDialAisle_MouseClick(object sender, MouseEventArgs e)
{
if (!enabledClick)
return;
if (centreRect != null && centreRect.Contains(e.Location))
{
centreItem.Selected = !centreItem.Selected;
if (ClickItemEvent != null)
{
ClickItemEvent(centreItem, e);
}
Invalidate();
return;
}
foreach (var item in m_lstItemRectCache)
{
if (item.Value.Contains(e.Location))
{
item.Key.Selected = !item.Key.Selected;
if (ClickItemEvent != null)
{
ClickItemEvent(item.Key, e);
}
Invalidate();
break;
}
}
}
void UCEllipseDialAisle_SizeChanged(object sender, EventArgs e)
{
m_lstItemRectCache.Clear();
if (items == null || items.Count <= 0)
return;
centreRect = new RectangleF((float)(this.Width - itemSize * 1.5) / 2f, (float)(this.Height - itemSize * 1.5) / 2f, (float)itemSize * 1.5f, (float)itemSize * 1.5f);
var zhijing = this.Width > this.Height ? this.Height : this.Width;
var yuanzhouchang = Math.PI * zhijing;
var zongZhouChang = yuanzhouchang;
if (this.Width > this.Height)
{
zongZhouChang += (this.Width - zhijing) * 2;
}
else
{
zongZhouChang += (this.Height - zhijing) * 2;
}
var sp = (float)(zongZhouChang / items.Count);
int c1 = (int)(yuanzhouchang / 2 / sp);//计算半个圆可以放几个
int c2 = items.Count / 2 - c1;//半个横线放几个
if (this.Width > this.Height)
{
int index = 0;
//上
for (int i = 0; i < c2; i++)
{
var rect = new RectangleF(this.Height / 2 + (this.Width - this.Height) / c2 / 2 + i * ((this.Width - this.Height) / c2) - itemSize / 2, 5f, itemSize, itemSize);
m_lstItemRectCache[items[index]] = rect;
index++;
}
//右
float fltSplitValue = (float)180 / (float)c1;
for (int i = 0; i < c1; i++)
{
float fltAngle = (fltSplitValue * i + 90 + fltSplitValue / 2) % 360;
float fltFY1 = (float)(0 - itemSize / 2 + this.Height / 2 - ((this.Height / 2 - 15) * Math.Sin(Math.PI * (fltAngle / 180.00F))));
float fltFX1 = (float)(this.Width - this.Height / 2 - itemSize - ((this.Height / 2 - 10) * Math.Cos(Math.PI * (fltAngle / 180.00F))));
var rect = new RectangleF(fltFX1, fltFY1, itemSize, itemSize);
m_lstItemRectCache[items[index]] = rect;
index++;
}
//下
for (int i = c2 - 1; i >= 0; i--)
{
var rect = new RectangleF(this.Height / 2 + (this.Width - this.Height) / c2 / 2 + i * ((this.Width - this.Height) / c2) - itemSize / 2, this.Height - 5f - itemSize, itemSize, itemSize);
m_lstItemRectCache[items[index]] = rect;
index++;
}
//左
for (int i = 0; i < c1; i++)
{
float fltAngle = (fltSplitValue * i + 90 + 180 + fltSplitValue / 2) % 360;
float fltFY1 = (float)(0 - itemSize / 2 + this.Height / 2 - ((this.Height / 2 - 15) * Math.Sin(Math.PI * (fltAngle / 180.00F))));
float fltFX1 = (float)(this.Height / 2 - (((this.Height / 2 - 10) * Math.Cos(Math.PI * (fltAngle / 180.00F)))));
var rect = new RectangleF(fltFX1, fltFY1, itemSize, itemSize);
m_lstItemRectCache[items[index]] = rect;
index++;
}
}
else
{
int index = 0;
float fltSplitValue = (float)180 / (float)c1;
//上
for (int i = 0; i < c1; i++)
{
float fltAngle = (fltSplitValue * i + fltSplitValue / 2) % 360;
float fltFY1 = (float)(this.Width / 2 - ((this.Width / 2 - 15) * Math.Sin(Math.PI * (fltAngle / 180.00F))));
float fltFX1 = (float)(this.Width / 2 - itemSize / 2 - ((this.Width / 2 - 10) * Math.Cos(Math.PI * (fltAngle / 180.00F))));
var rect = new RectangleF(fltFX1, fltFY1, itemSize, itemSize);
m_lstItemRectCache[items[index]] = rect;
index++;
}
//右
for (int i = 0; i < c2; i++)
{
var rect = new RectangleF(this.Width - itemSize - 5, this.Width / 2+(this.Height-this.Width)/c2/2+ i * ((this.Height-this.Width) / c2)-itemSize/2, itemSize, itemSize);
m_lstItemRectCache[items[index]] = rect;
index++;
}
//下
for (int i = 0; i < c1; i++)
{
float fltAngle = (fltSplitValue * i+180 + fltSplitValue / 2) % 360;
float fltFY1 = (float)(this.Height - this.Width/2 - itemSize - ((this.Width / 2 - 15) * Math.Sin(Math.PI * (fltAngle / 180.00F))));
float fltFX1 = (float)(this.Width / 2 - itemSize / 2 - ((this.Width / 2 - 10) * Math.Cos(Math.PI * (fltAngle / 180.00F))));
var rect = new RectangleF(fltFX1, fltFY1, itemSize, itemSize);
m_lstItemRectCache[items[index]] = rect;
index++;
}
//左
for (int i = c2-1; i >=0; i--)
{
var rect = new RectangleF(5, this.Width / 2 + (this.Height - this.Width) / c2 / 2 + i * ((this.Height - this.Width) / c2) - itemSize / 2, itemSize, itemSize);
m_lstItemRectCache[items[index]] = rect;
index++;
}
}
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
var g = e.Graphics;
g.SetGDIHigh();
GraphicsPath path = new GraphicsPath();
GraphicsPath borderpath = new GraphicsPath();
if (this.Width > this.Height)
{
borderpath.AddArc(new Rectangle(1, 1, this.Height, this.Height-2), 90, 180);
borderpath.AddArc(new Rectangle(this.Width - this.Height-2, 1, this.Height, this.Height-2), 270, 180);
borderpath.CloseAllFigures();
path.AddArc(new Rectangle(0, 0, this.Height, this.Height), 90, 180);
path.AddArc(new Rectangle(this.Width - this.Height, 0, this.Height, this.Height), 270, 180);
path.CloseAllFigures();
}
else
{
borderpath.AddArc(new Rectangle(1, 1, this.Width-2, this.Width), 180, 180);
borderpath.AddArc(new Rectangle(1, this.Height - this.Width-2, this.Width-2, this.Width), 0, 180);
borderpath.CloseAllFigures();
path.AddArc(new Rectangle(0, 0, this.Width, this.Width), 180, 180);
path.AddArc(new Rectangle(0, this.Height - this.Width, this.Width, this.Width), 0, 180);
path.CloseAllFigures();
}
base.Region = new Region(path);
foreach (var item in m_lstItemRectCache)
{
if (item.Key.Selected)
{
g.FillEllipse(new SolidBrush(item.Key.SelectedBGColor), item.Value);
g.DrawString(item.Key.Text, item.Key.Font, new SolidBrush(item.Key.SelectedForeColor), item.Value, new StringFormat() { Alignment = StringAlignment.Center, LineAlignment = StringAlignment.Center });
}
else
{
g.FillEllipse(new SolidBrush(item.Key.BGColor), item.Value);
g.DrawString(item.Key.Text, item.Key.Font, new SolidBrush(item.Key.ForeColor), item.Value, new StringFormat() { Alignment = StringAlignment.Center, LineAlignment = StringAlignment.Center });
}
}
if (centreRect != null && centreItem != null)
{
if (centreItem.Selected)
{
g.FillEllipse(new SolidBrush(centreItem.SelectedBGColor), centreRect);
g.DrawString(centreItem.Text, centreItem.Font, new SolidBrush(centreItem.SelectedForeColor), centreRect, new StringFormat() { Alignment = StringAlignment.Center, LineAlignment = StringAlignment.Center });
}
else
{
g.FillEllipse(new SolidBrush(centreItem.BGColor), centreRect);
g.DrawString(centreItem.Text, centreItem.Font, new SolidBrush(centreItem.ForeColor), centreRect, new StringFormat() { Alignment = StringAlignment.Center, LineAlignment = StringAlignment.Center });
}
}
g.DrawPath(new Pen(new SolidBrush(borderColor), 2), borderpath);
}
}
[Serializable]
public class EllipseDialAisleItem
{
public string Key { get; set; }
public string Text { get; set; }
Color bGColor = Color.FromArgb(255, 77, 59);
/// <summary>
/// 背景色
/// </summary>
public Color BGColor { get { return bGColor; } set { bGColor = value; } }
Color selectedBGColor = Color.FromArgb(78, 201, 176);
/// <summary>
/// 选中时背景色
/// </summary>
public Color SelectedBGColor { get { return selectedBGColor; } set { selectedBGColor = value; } }
Color foreColor = Color.White;
/// <summary>
/// 文字颜色
/// </summary>
public Color ForeColor
{
get { return foreColor; }
set { foreColor = value; }
}
Color selectedForeColor = Color.White;
/// <summary>
/// 选中时文字颜色
/// </summary>
public Color SelectedForeColor
{
get { return selectedForeColor; }
set { selectedForeColor = value; }
}
Font font = new Font("微软雅黑", 10);
/// <summary>
/// 字体
/// </summary>
public Font Font { get { return font; } set { font = value; } }
/// <summary>
/// 关联的数据
/// </summary>
public object DataSource { get; set; }
public bool Selected { get; set; }
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
namespace HZH_Controls.Controls
{
partial class UCHouse
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region 组件设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
components = new System.ComponentModel.Container();
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
}
#endregion
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Drawing2D;
namespace HZH_Controls.Controls
{
public partial class UCHouse : UserControl
{
private Color roofColor = Color.Black;
public Color RoofColor
{
get { return roofColor; }
set { roofColor = value; }
}
private Color wallColor = Color.Red;
public Color WallColor
{
get { return wallColor; }
set { wallColor = value; }
}
public UCHouse()
{
InitializeComponent();
this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
this.SetStyle(ControlStyles.DoubleBuffer, true);
this.SetStyle(ControlStyles.ResizeRedraw, true);
this.SetStyle(ControlStyles.Selectable, true);
this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
this.SetStyle(ControlStyles.UserPaint, true);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
var g = e.Graphics;
g.SetGDIHigh();
//GraphicsPath path = new GraphicsPath();
//path.AddLines(new Point[]{
//new Point(0,this.Height/2-20),
//new Point(this.Width/4,0),
//new Point(this.Width/4*3,20),
//new Point(this.Width-1,this.Height/2),
//new Point(this.Width-1,this.Height-1),
//new Point(this.Width/2,this.Height-1),
//new Point(0,this.Height-20),
//});
//path.CloseFigure();
//g.DrawPath(new Pen(new SolidBrush(Color.Red)), path);
//g.DrawLine(new Pen(new SolidBrush(Color.Red)), new Point(this.Width / 4 * 3, 20), new Point(this.Width / 2, this.Height / 2));
//g.DrawLines(new Pen(new SolidBrush(Color.Red)),new Point[]{ new Point(0, this.Height / 2 - 20), new Point(this.Width / 2, this.Height / 2),new Point(this.Width/2,this.Height-1)});
//g.DrawLine(new Pen(new SolidBrush(Color.Red)), new Point(this.Width / 2, this.Height / 2), new Point(this.Width - 1, this.Height / 2));
GraphicsPath pathRoof = new GraphicsPath();
pathRoof.AddLines(new Point[]
{
new Point(0,this.Height/2-20),
new Point(this.Width/4,0),
new Point(this.Width/4*3,0),
new Point(this.Width / 2, this.Height / 2)
});
pathRoof.CloseFigure();
g.FillPath(new SolidBrush(roofColor), pathRoof);
GraphicsPath pathWall = new GraphicsPath();
pathWall.AddLines(new Point[]
{
new Point(0,this.Height/2-20),
new Point(this.Width / 2, this.Height / 2),
new Point(this.Width/4*3, 0),
new Point(this.Width, this.Height / 2),
new Point(this.Width , this.Height),
new Point(this.Width , this.Height),
new Point(this.Width/2 , this.Height),
new Point(0 , this.Height-20),
});
pathWall.CloseFigure();
g.FillPath(new SolidBrush(wallColor), pathWall);
g.DrawLines(new Pen( new SolidBrush(Color.FromArgb(50,Color.White))), new Point[] { new Point(this.Width / 2, this.Height), new Point(this.Width / 2, this.Height / 2), new Point(this.Width, this.Height / 2) });
}
}
}
namespace HZH_Controls.Controls.FactoryControls.Syringe
{
partial class UCSyringe_Horizontal
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region 组件设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.SuspendLayout();
//
// timer1
//
this.timer1.Enabled = true;
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
//
// UCSyringe_Horizontal
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.Transparent;
this.Name = "UCSyringe_Horizontal";
this.Size = new System.Drawing.Size(252, 93);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Timer timer1;
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace HZH_Controls.Controls.FactoryControls.Syringe
{
public partial class UCSyringe_Horizontal : UserControl
{
private Color bottomColor = Color.FromArgb(128, 128, 128);
[Description("底座、推杆、把柄颜色"), Category("自定义")]
public Color BottomColor
{
get { return bottomColor; }
set { bottomColor = value; }
}
private Color subjectColor = Color.FromArgb(192, 192, 192);
[Description("主体颜色"), Category("自定义")]
public Color SubjectColor
{
get { return subjectColor; }
set { subjectColor = value; }
}
private Color liquidColor = Color.FromArgb(135, 206, 235);
[Description("液体颜色"), Category("自定义")]
public Color LiquidColor
{
get { return liquidColor; }
set { liquidColor = value; }
}
private int splitTime = 100;
[Description("动画时间间隔"), Category("自定义")]
public int SplitTime
{
get { return splitTime; }
set
{
if (value <= 0)
return;
splitTime = value;
timer1.Interval = value;
}
}
private int splitMove = 10;
[Description("动画每次移动的像素"), Category("自定义")]
public int SplitMove
{
get { return splitMove; }
set { splitMove = value; }
}
int maxMoveValue = 0;
[Description("最大可移动像素值"), Category("自定义")]
public int MaxMoveValue
{
get { return maxMoveValue; }
private set { maxMoveValue = value; }
}
int moveValue = 0;
[Description("当前移动像素值"), Category("自定义")]
public int MoveValue
{
get { return moveValue; }
set
{
moveValue = value;
Refresh();
}
}
[Description("是否使用动画"), Category("自定义")]
public bool Animation
{
get { return timer1.Enabled; }
set { timer1.Enabled = value; }
}
private bool leftOrRight = true;
[Description("朝向:true左,false右"), Category("自定义")]
public bool LeftOrRight
{
get { return leftOrRight; }
set
{
leftOrRight = value;
Refresh();
}
}
int moveindex = 1;
Rectangle workRect;
public UCSyringe_Horizontal()
{
InitializeComponent();
this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
this.SetStyle(ControlStyles.DoubleBuffer, true);
this.SetStyle(ControlStyles.ResizeRedraw, true);
this.SetStyle(ControlStyles.Selectable, true);
this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
this.SetStyle(ControlStyles.UserPaint, true);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.SizeChanged += UCSyringe_SizeChanged;
UCSyringe_SizeChanged(null, null);
}
void UCSyringe_SizeChanged(object sender, EventArgs e)
{
maxMoveValue = (this.Width - 40) / 3 * 2 - 20;
if (leftOrRight)
{
workRect = new Rectangle(20, 0, this.Width - 20, this.Height);
}
else
{
workRect = new Rectangle(0, 0, this.Width - 20, this.Height);
}
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
var g = e.Graphics;
g.SetGDIHigh();
if (leftOrRight)
{
//出口
g.FillRectangle(new SolidBrush(bottomColor), new Rectangle(0, workRect.Height / 2 - workRect.Height / 8, 20 + 10, workRect.Height / 4));
//g.FillRectangle(new SolidBrush(bottomColor), new Rectangle(0, workRect.Height / 4, 10, workRect.Height /2));
//桶壁
g.FillRectangle(new SolidBrush(subjectColor), new System.Drawing.Rectangle(workRect.Left + 10, workRect.Top, workRect.Width / 3 * 2, workRect.Height));
//底座
g.FillEllipse(new SolidBrush(bottomColor), new System.Drawing.Rectangle(workRect.Left, workRect.Top, 20, workRect.Height));
g.FillRectangle(new SolidBrush(bottomColor), new System.Drawing.Rectangle(workRect.Left + 10, workRect.Top, 10, workRect.Height));
g.FillEllipse(new SolidBrush(bottomColor), new System.Drawing.Rectangle(workRect.Left + 10, workRect.Top, 20, workRect.Height));
//液体
g.FillRectangle(new SolidBrush(liquidColor), new System.Drawing.Rectangle(workRect.Left + 20 + 10, workRect.Height / 4, workRect.Width / 3 * 2 - 20, workRect.Height / 2));
g.FillEllipse(new SolidBrush(liquidColor), new System.Drawing.Rectangle(workRect.Left + 20, workRect.Height / 4, 20, workRect.Height / 2));
//画空气
g.FillRectangle(Brushes.White, new Rectangle(workRect.Left + workRect.Width / 3 * 2 - (moveValue), workRect.Height / 4, moveValue + 15, workRect.Height / 2));
//画推杆
g.FillRectangle(new SolidBrush(bottomColor), new Rectangle(workRect.Left + workRect.Width / 3 * 2 - (moveValue), workRect.Top + workRect.Height / 2 - workRect.Height / 16, moveValue + 15, workRect.Height / 8));
//g.FillRectangle(new SolidBrush(bottomColor), new Rectangle(workRect.Left + workRect.Width / 2, workRect.Top + workRect.Height / 2 - workRect.Height / 16, maxMoveValue - moveValue + 20 + 10, workRect.Height / 8));
//画推柄
//g.FillEllipse(new SolidBrush(bottomColor), new Rectangle(workRect.Left + workRect.Width /3* 2 + maxMoveValue - moveValue + 20, workRect.Height / 4, 20, workRect.Height / 2));
//画塞子
g.FillEllipse(new SolidBrush(bottomColor), new System.Drawing.Rectangle(workRect.Left + workRect.Width / 3 * 2 - (moveValue) - 10, workRect.Height / 4, 20, workRect.Height / 2));
//桶顶部
g.FillEllipse(new SolidBrush(bottomColor), new System.Drawing.Rectangle(workRect.Left + workRect.Width / 3 * 2, workRect.Top, 20, workRect.Height));
g.FillRectangle(new SolidBrush(bottomColor), new System.Drawing.Rectangle(workRect.Left + workRect.Width / 3 * 2 + 10, workRect.Top, 5, workRect.Height));
g.FillEllipse(new SolidBrush(bottomColor), new System.Drawing.Rectangle(workRect.Left + workRect.Width / 3 * 2 + 5, workRect.Top, 20, workRect.Height));
//顶部
g.FillRectangle(new SolidBrush(bottomColor), new System.Drawing.Rectangle(workRect.Left + workRect.Width / 3 * 2 + 10, workRect.Top, workRect.Width / 3 - 20, workRect.Height));
g.FillEllipse(new SolidBrush(bottomColor), new System.Drawing.Rectangle(workRect.Right - 20, workRect.Top, 20, workRect.Height));
//出水
g.FillRectangle(new SolidBrush(liquidColor), new Rectangle(0, workRect.Height / 2 - workRect.Height / 16, 20 + 30, workRect.Height / 8));
}
else
{
//出口
g.FillRectangle(new SolidBrush(bottomColor), new Rectangle(workRect.Right - 10, workRect.Height / 2 - workRect.Height / 8, 20 + 10, workRect.Height / 4));
//桶壁
g.FillRectangle(new SolidBrush(subjectColor), new System.Drawing.Rectangle(workRect.Left + workRect.Width / 3 - 10, workRect.Top, workRect.Width / 3 * 2, workRect.Height));
//底座
g.FillEllipse(new SolidBrush(bottomColor), new System.Drawing.Rectangle(workRect.Right - 20, workRect.Top, 20, workRect.Height));
g.FillRectangle(new SolidBrush(bottomColor), new System.Drawing.Rectangle(workRect.Right - 10 - 10, workRect.Top, 10, workRect.Height));
g.FillEllipse(new SolidBrush(bottomColor), new System.Drawing.Rectangle(workRect.Right - 10 - 20, workRect.Top, 20, workRect.Height));
//液体
g.FillRectangle(new SolidBrush(liquidColor), new System.Drawing.Rectangle(workRect.Right - 20 - 10 - (workRect.Width / 3 * 2 - 20), workRect.Height / 4, workRect.Width / 3 * 2 - 20, workRect.Height / 2));
g.FillEllipse(new SolidBrush(liquidColor), new System.Drawing.Rectangle(workRect.Right - 20 - 20, workRect.Height / 4, 20, workRect.Height / 2));
//画空气
g.FillRectangle(Brushes.White, new Rectangle(workRect.Right - workRect.Width / 3 * 2 - 15, workRect.Height / 4, moveValue + 15, workRect.Height / 2));
//画推杆
g.FillRectangle(new SolidBrush(bottomColor), new Rectangle(workRect.Right - workRect.Width / 3 * 2, workRect.Top + workRect.Height / 2 - workRect.Height / 16, moveValue, workRect.Height / 8));
//g.FillRectangle(new SolidBrush(bottomColor), new Rectangle(workRect.Left + moveValue + 10, workRect.Top + workRect.Height / 2 - workRect.Height / 16, maxMoveValue - moveValue + 20 + 10, workRect.Height / 8));
//画推柄
//g.FillEllipse(new SolidBrush(bottomColor), new Rectangle(workRect.Left + moveValue, workRect.Height / 4, 20, workRect.Height / 2));
//画塞子
g.FillEllipse(new SolidBrush(bottomColor), new System.Drawing.Rectangle(workRect.Right - workRect.Width / 3 * 2 + (moveValue) - 10, workRect.Height / 4, 20, workRect.Height / 2));
//桶顶部
g.FillEllipse(new SolidBrush(bottomColor), new System.Drawing.Rectangle(workRect.Right - workRect.Width / 3 * 2 - 20, workRect.Top, 20, workRect.Height));
g.FillRectangle(new SolidBrush(bottomColor), new System.Drawing.Rectangle(workRect.Right - workRect.Width / 3 * 2 - 10 - 5, workRect.Top, 5, workRect.Height));
g.FillEllipse(new SolidBrush(bottomColor), new System.Drawing.Rectangle(workRect.Right - workRect.Width / 3 * 2 - 5 - 20, workRect.Top, 20, workRect.Height));
//顶部
g.FillRectangle(new SolidBrush(bottomColor), new System.Drawing.Rectangle(workRect.Left + 10, workRect.Top, workRect.Width / 3 - 20, workRect.Height));
g.FillEllipse(new SolidBrush(bottomColor), new System.Drawing.Rectangle(workRect.Left, workRect.Top, 20, workRect.Height));
//出水
g.FillRectangle(new SolidBrush(liquidColor), new Rectangle(workRect.Right - 30, workRect.Height / 2 - workRect.Height / 16, 20 + 30, workRect.Height / 8));
}
}
private void timer1_Tick(object sender, EventArgs e)
{
var v = moveValue + moveindex * splitMove;
if (v <= 0 || v >= maxMoveValue)
{
moveindex = moveindex * -1;
v = moveValue + moveindex * splitMove;
}
MoveValue = v;
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>
\ No newline at end of file
namespace HZH_Controls.Controls
{
partial class UCSyringe
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region 组件设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.SuspendLayout();
//
// timer1
//
this.timer1.Enabled = true;
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
//
// UCSyringe
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.BackColor = System.Drawing.Color.Transparent;
this.MinimumSize = new System.Drawing.Size(0, 100);
this.Name = "UCSyringe";
this.Size = new System.Drawing.Size(106, 182);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Timer timer1;
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing;
using System.Drawing.Drawing2D;
namespace HZH_Controls.Controls
{
public partial class UCSyringe : UserControl
{
private Color bottomColor = Color.FromArgb(128, 128, 128);
[Description("底座、推杆、把柄颜色"), Category("自定义")]
public Color BottomColor
{
get { return bottomColor; }
set { bottomColor = value; }
}
private Color subjectColor = Color.FromArgb(192, 192, 192);
[Description("主体颜色"), Category("自定义")]
public Color SubjectColor
{
get { return subjectColor; }
set { subjectColor = value; }
}
private Color liquidColor = Color.FromArgb(135, 206, 235);
[Description("液体颜色"), Category("自定义")]
public Color LiquidColor
{
get { return liquidColor; }
set { liquidColor = value; }
}
private int splitTime = 100;
[Description("动画时间间隔"), Category("自定义")]
public int SplitTime
{
get { return splitTime; }
set
{
if (value <= 0)
return;
splitTime = value;
timer1.Interval = value;
}
}
private int splitMove = 10;
[Description("动画每次移动的像素"), Category("自定义")]
public int SplitMove
{
get { return splitMove; }
set { splitMove = value; }
}
int maxMoveValue = 0;
[Description("最大可移动像素值"), Category("自定义")]
public int MaxMoveValue
{
get { return maxMoveValue; }
private set { maxMoveValue = value; }
}
int moveValue = 0;
[Description("当前移动像素值"), Category("自定义")]
public int MoveValue
{
get { return moveValue; }
set
{
moveValue = value;
Refresh();
}
}
[Description("是否使用动画"), Category("自定义")]
public bool Animation
{
get { return timer1.Enabled; }
set { timer1.Enabled = value; }
}
int moveindex = 1;
public UCSyringe()
{
InitializeComponent();
this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
this.SetStyle(ControlStyles.DoubleBuffer, true);
this.SetStyle(ControlStyles.ResizeRedraw, true);
this.SetStyle(ControlStyles.Selectable, true);
this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
this.SetStyle(ControlStyles.UserPaint, true);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.SizeChanged += UCSyringe_SizeChanged;
UCSyringe_SizeChanged(null, null);
}
void UCSyringe_SizeChanged(object sender, EventArgs e)
{
maxMoveValue = this.Height / 2 - 40;
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
var g = e.Graphics;
g.SetGDIHigh();
//桶壁
g.FillRectangle(new SolidBrush(subjectColor), new System.Drawing.Rectangle(0, e.ClipRectangle.Bottom - this.Height / 2 - 10, this.Width, this.Height / 2));
//底座
g.FillEllipse(new SolidBrush(bottomColor), new System.Drawing.Rectangle(0, e.ClipRectangle.Bottom - 20, this.Width, 20));
g.FillRectangle(new SolidBrush(bottomColor), new System.Drawing.Rectangle(0, e.ClipRectangle.Bottom - 10 - 10, this.Width, 10));
g.FillEllipse(new SolidBrush(bottomColor), new System.Drawing.Rectangle(0, e.ClipRectangle.Bottom - 20 - 10, this.Width, 20));
//液体
g.FillRectangle(new SolidBrush(liquidColor), new System.Drawing.Rectangle(this.Width / 4, e.ClipRectangle.Bottom - this.Height / 2 - 10, this.Width / 2, this.Height / 2 - 20));
g.FillEllipse(new SolidBrush(liquidColor), new System.Drawing.Rectangle(this.Width / 4, e.ClipRectangle.Bottom - this.Height / 2 - 10 + this.Height / 2 - 40, this.Width / 2, 30));
//画空气
g.FillRectangle(Brushes.White, new Rectangle(this.Width / 4, e.ClipRectangle.Bottom - this.Height / 2 - 10, this.Width / 2, moveValue + 15));
//画推杆
g.FillRectangle(new SolidBrush(bottomColor), new Rectangle(this.Width / 2 - this.Width / 16, e.ClipRectangle.Bottom - this.Height / 2 - 30 - (maxMoveValue - moveValue), this.Width / 8, maxMoveValue - moveValue + 10));
g.FillRectangle(new SolidBrush(bottomColor), new Rectangle(this.Width / 2 - this.Width / 16, e.ClipRectangle.Bottom - this.Height / 2 - 10, this.Width / 8, moveValue + 15));
//画推柄
g.FillEllipse(new SolidBrush(bottomColor), new Rectangle(this.Width / 4, e.ClipRectangle.Bottom - this.Height / 2 - 40 - (maxMoveValue - moveValue), this.Width / 2, 20));
//画塞子
g.FillEllipse(new SolidBrush(bottomColor), new System.Drawing.Rectangle(this.Width / 4, moveValue + e.ClipRectangle.Bottom - this.Height / 2 - 10, this.Width / 2, 20));
//桶顶部
g.FillEllipse(new SolidBrush(bottomColor), new System.Drawing.Rectangle(0, e.ClipRectangle.Bottom - this.Height / 2 - 20, this.Width, 20));
g.FillRectangle(new SolidBrush(bottomColor), new System.Drawing.Rectangle(0, e.ClipRectangle.Bottom - this.Height / 2 - 10 - 5, this.Width, 5));
g.FillEllipse(new SolidBrush(bottomColor), new System.Drawing.Rectangle(0, e.ClipRectangle.Bottom - this.Height / 2 - 20 - 5, this.Width, 20));
}
private void timer1_Tick(object sender, EventArgs e)
{
var v = moveValue + moveindex * splitMove;
if (v <= 0 || v >= maxMoveValue)
{
moveindex = moveindex * -1;
v = moveValue + moveindex * splitMove;
}
MoveValue = v;
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>
\ No newline at end of file
......@@ -86,12 +86,30 @@
<Compile Include="Controls\FactoryControls\DialAisle\UCDialAisle.Designer.cs">
<DependentUpon>UCDialAisle.cs</DependentUpon>
</Compile>
<Compile Include="Controls\FactoryControls\EllipseDialAisle\UCEllipseDialAisle.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Controls\FactoryControls\EllipseDialAisle\UCEllipseDialAisle.Designer.cs">
<DependentUpon>UCEllipseDialAisle.cs</DependentUpon>
</Compile>
<Compile Include="Controls\FactoryControls\Rotor\UCRotor.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Controls\FactoryControls\Rotor\UCRotor.Designer.cs">
<DependentUpon>UCRotor.cs</DependentUpon>
</Compile>
<Compile Include="Controls\FactoryControls\Syringe\UCSyringe_Horizontal.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Controls\FactoryControls\Syringe\UCSyringe_Horizontal.Designer.cs">
<DependentUpon>UCSyringe_Horizontal.cs</DependentUpon>
</Compile>
<Compile Include="Controls\FactoryControls\Syringe\UCSyringe_Vertical.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Controls\FactoryControls\Syringe\UCSyringe_Vertical.Designer.cs">
<DependentUpon>UCSyringe_Vertical.cs</DependentUpon>
</Compile>
<Compile Include="Controls\FactoryControls\Turntable\UCTurntable.cs">
<SubType>UserControl</SubType>
</Compile>
......@@ -714,12 +732,21 @@
<EmbeddedResource Include="Controls\FactoryControls\Blower\UCBlower.resx">
<DependentUpon>UCBlower.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Controls\FactoryControls\EllipseDialAisle\UCEllipseDialAisle.resx">
<DependentUpon>UCEllipseDialAisle.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Controls\FactoryControls\MindMapping\UCMindMappingPanel.resx">
<DependentUpon>UCMindMappingPanel.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Controls\FactoryControls\Rotor\UCRotor.resx">
<DependentUpon>UCRotor.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Controls\FactoryControls\Syringe\UCSyringe_Horizontal.resx">
<DependentUpon>UCSyringe_Horizontal.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Controls\FactoryControls\Syringe\UCSyringe_Vertical.resx">
<DependentUpon>UCSyringe_Vertical.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Controls\FactoryControls\Turntable\UCTurntable.resx">
<DependentUpon>UCTurntable.cs</DependentUpon>
</EmbeddedResource>
......
......@@ -26,7 +26,7 @@ namespace Test
{
ControlHelper.FreezeControl(this, true);
this.tvMenu.Nodes.Add("关于授权");
TreeNode tnForm = new TreeNode(" 窗体");
TreeNode tnForm = new TreeNode(" 窗体");
tnForm.Nodes.Add("提示窗体");
tnForm.Nodes.Add("多输入窗体");
tnForm.Nodes.Add("气泡提示窗体");
......@@ -96,7 +96,9 @@ namespace Test
tnFactory.Nodes.Add("温度计");
tnFactory.Nodes.Add("转子");
tnFactory.Nodes.Add("多通道转盘");
tnFactory.Nodes.Add("椭圆转盘");
tnFactory.Nodes.Add("转盘");
tnFactory.Nodes.Add("注射器");
this.tvMenu.Nodes.Add(tnFactory);
AddControl(new UCShouQuan());
}
......@@ -359,9 +361,15 @@ namespace Test
case "多通道转盘":
AddControl(new UC.UCTestDialAisle());
break;
case "椭圆转盘":
AddControl(new UC.UCTestUCEllipseDialAisle());
break;
case "转盘":
AddControl(new UC.UCTestTurntable());
break;
case "注射器":
AddControl(new UC.UCTestSyringe());
break;
#endregion
}
}
......
......@@ -254,7 +254,9 @@
<Compile Include="UC\UCTestLiveCharts\Cartesian\DataPagination\DataPaginationExample.Designer.cs">
<DependentUpon>DataPaginationExample.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\DateTime\DateTimeExample.cs" />
<Compile Include="UC\UCTestLiveCharts\Cartesian\DateTime\DateTimeExample.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UC\UCTestLiveCharts\Cartesian\DateTime\DateTimeExample.Designer.cs">
<DependentUpon>DateTimeExample.cs</DependentUpon>
</Compile>
......@@ -584,6 +586,12 @@
<Compile Include="UC\UCTestStep.Designer.cs">
<DependentUpon>UCTestStep.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestSyringe.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="UC\UCTestSyringe.Designer.cs">
<DependentUpon>UCTestSyringe.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestTab.cs">
<SubType>UserControl</SubType>
</Compile>
......@@ -638,6 +646,12 @@
<Compile Include="UC\UCTestTurntable.Designer.cs">
<DependentUpon>UCTestTurntable.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestUCEllipseDialAisle.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="UC\UCTestUCEllipseDialAisle.Designer.cs">
<DependentUpon>UCTestUCEllipseDialAisle.cs</DependentUpon>
</Compile>
<Compile Include="UC\UCTestValve.cs">
<SubType>UserControl</SubType>
</Compile>
......@@ -930,6 +944,9 @@
<EmbeddedResource Include="UC\UCTestStep.resx">
<DependentUpon>UCTestStep.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestSyringe.resx">
<DependentUpon>UCTestSyringe.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestTab.resx">
<DependentUpon>UCTestTab.cs</DependentUpon>
</EmbeddedResource>
......@@ -957,6 +974,9 @@
<EmbeddedResource Include="UC\UCTestTurntable.resx">
<DependentUpon>UCTestTurntable.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestUCEllipseDialAisle.resx">
<DependentUpon>UCTestUCEllipseDialAisle.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\UCTestValve.resx">
<DependentUpon>UCTestValve.cs</DependentUpon>
</EmbeddedResource>
......
namespace Test.UC
{
partial class UCTestSyringe
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region 组件设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.ucSyringe_Horizontal2 = new HZH_Controls.Controls.FactoryControls.Syringe.UCSyringe_Horizontal();
this.ucSyringe_Horizontal1 = new HZH_Controls.Controls.FactoryControls.Syringe.UCSyringe_Horizontal();
this.ucSyringe1 = new HZH_Controls.Controls.UCSyringe();
this.SuspendLayout();
//
// ucSyringe_Horizontal2
//
this.ucSyringe_Horizontal2.Animation = true;
this.ucSyringe_Horizontal2.BackColor = System.Drawing.Color.Transparent;
this.ucSyringe_Horizontal2.BottomColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(128)))), ((int)(((byte)(128)))));
this.ucSyringe_Horizontal2.LeftOrRight = false;
this.ucSyringe_Horizontal2.LiquidColor = System.Drawing.Color.FromArgb(((int)(((byte)(135)))), ((int)(((byte)(206)))), ((int)(((byte)(235)))));
this.ucSyringe_Horizontal2.Location = new System.Drawing.Point(224, 265);
this.ucSyringe_Horizontal2.MoveValue = 40;
this.ucSyringe_Horizontal2.Name = "ucSyringe_Horizontal2";
this.ucSyringe_Horizontal2.Size = new System.Drawing.Size(322, 67);
this.ucSyringe_Horizontal2.SplitMove = 10;
this.ucSyringe_Horizontal2.SplitTime = 100;
this.ucSyringe_Horizontal2.SubjectColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(192)))), ((int)(((byte)(192)))));
this.ucSyringe_Horizontal2.TabIndex = 1;
//
// ucSyringe_Horizontal1
//
this.ucSyringe_Horizontal1.Animation = true;
this.ucSyringe_Horizontal1.BackColor = System.Drawing.Color.Transparent;
this.ucSyringe_Horizontal1.BottomColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(128)))), ((int)(((byte)(128)))));
this.ucSyringe_Horizontal1.LeftOrRight = true;
this.ucSyringe_Horizontal1.LiquidColor = System.Drawing.Color.FromArgb(((int)(((byte)(135)))), ((int)(((byte)(206)))), ((int)(((byte)(235)))));
this.ucSyringe_Horizontal1.Location = new System.Drawing.Point(224, 103);
this.ucSyringe_Horizontal1.MoveValue = 40;
this.ucSyringe_Horizontal1.Name = "ucSyringe_Horizontal1";
this.ucSyringe_Horizontal1.Size = new System.Drawing.Size(322, 67);
this.ucSyringe_Horizontal1.SplitMove = 10;
this.ucSyringe_Horizontal1.SplitTime = 100;
this.ucSyringe_Horizontal1.SubjectColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(192)))), ((int)(((byte)(192)))));
this.ucSyringe_Horizontal1.TabIndex = 1;
//
// ucSyringe1
//
this.ucSyringe1.Animation = true;
this.ucSyringe1.BackColor = System.Drawing.Color.Transparent;
this.ucSyringe1.BottomColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(128)))), ((int)(((byte)(128)))));
this.ucSyringe1.LiquidColor = System.Drawing.Color.FromArgb(((int)(((byte)(135)))), ((int)(((byte)(206)))), ((int)(((byte)(235)))));
this.ucSyringe1.Location = new System.Drawing.Point(67, 74);
this.ucSyringe1.MinimumSize = new System.Drawing.Size(0, 100);
this.ucSyringe1.MoveValue = 80;
this.ucSyringe1.Name = "ucSyringe1";
this.ucSyringe1.Size = new System.Drawing.Size(76, 290);
this.ucSyringe1.SplitMove = 10;
this.ucSyringe1.SplitTime = 100;
this.ucSyringe1.SubjectColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(192)))), ((int)(((byte)(192)))));
this.ucSyringe1.TabIndex = 0;
//
// UCTestSyringe
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.ucSyringe_Horizontal2);
this.Controls.Add(this.ucSyringe_Horizontal1);
this.Controls.Add(this.ucSyringe1);
this.Name = "UCTestSyringe";
this.Size = new System.Drawing.Size(618, 671);
this.ResumeLayout(false);
}
#endregion
private HZH_Controls.Controls.UCSyringe ucSyringe1;
private HZH_Controls.Controls.FactoryControls.Syringe.UCSyringe_Horizontal ucSyringe_Horizontal1;
private HZH_Controls.Controls.FactoryControls.Syringe.UCSyringe_Horizontal ucSyringe_Horizontal2;
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Test.UC
{
public partial class UCTestSyringe : UserControl
{
public UCTestSyringe()
{
InitializeComponent();
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
namespace Test.UC
{
partial class UCTestUCEllipseDialAisle
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region 组件设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(UCTestUCEllipseDialAisle));
this.ucEllipseDialAisle1 = new HZH_Controls.Controls.UCEllipseDialAisle();
this.ucEllipseDialAisle2 = new HZH_Controls.Controls.UCEllipseDialAisle();
this.SuspendLayout();
//
// ucEllipseDialAisle1
//
this.ucEllipseDialAisle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));
this.ucEllipseDialAisle1.CentreItem = ((HZH_Controls.Controls.EllipseDialAisleItem)(resources.GetObject("ucEllipseDialAisle1.CentreItem")));
this.ucEllipseDialAisle1.EnabledClick = true;
this.ucEllipseDialAisle1.Items = new HZH_Controls.Controls.EllipseDialAisleItem[] {
((HZH_Controls.Controls.EllipseDialAisleItem)(resources.GetObject("ucEllipseDialAisle1.Items"))),
((HZH_Controls.Controls.EllipseDialAisleItem)(resources.GetObject("ucEllipseDialAisle1.Items1"))),
((HZH_Controls.Controls.EllipseDialAisleItem)(resources.GetObject("ucEllipseDialAisle1.Items2"))),
((HZH_Controls.Controls.EllipseDialAisleItem)(resources.GetObject("ucEllipseDialAisle1.Items3"))),
((HZH_Controls.Controls.EllipseDialAisleItem)(resources.GetObject("ucEllipseDialAisle1.Items4"))),
((HZH_Controls.Controls.EllipseDialAisleItem)(resources.GetObject("ucEllipseDialAisle1.Items5"))),
((HZH_Controls.Controls.EllipseDialAisleItem)(resources.GetObject("ucEllipseDialAisle1.Items6"))),
((HZH_Controls.Controls.EllipseDialAisleItem)(resources.GetObject("ucEllipseDialAisle1.Items7"))),
((HZH_Controls.Controls.EllipseDialAisleItem)(resources.GetObject("ucEllipseDialAisle1.Items8"))),
((HZH_Controls.Controls.EllipseDialAisleItem)(resources.GetObject("ucEllipseDialAisle1.Items9"))),
((HZH_Controls.Controls.EllipseDialAisleItem)(resources.GetObject("ucEllipseDialAisle1.Items10"))),
((HZH_Controls.Controls.EllipseDialAisleItem)(resources.GetObject("ucEllipseDialAisle1.Items11")))};
this.ucEllipseDialAisle1.ItemSize = 30;
this.ucEllipseDialAisle1.Location = new System.Drawing.Point(57, 49);
this.ucEllipseDialAisle1.Name = "ucEllipseDialAisle1";
this.ucEllipseDialAisle1.Size = new System.Drawing.Size(183, 421);
this.ucEllipseDialAisle1.TabIndex = 0;
//
// ucEllipseDialAisle2
//
this.ucEllipseDialAisle2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204)))));
this.ucEllipseDialAisle2.CentreItem = ((HZH_Controls.Controls.EllipseDialAisleItem)(resources.GetObject("ucEllipseDialAisle2.CentreItem")));
this.ucEllipseDialAisle2.EnabledClick = true;
this.ucEllipseDialAisle2.Items = new HZH_Controls.Controls.EllipseDialAisleItem[] {
((HZH_Controls.Controls.EllipseDialAisleItem)(resources.GetObject("ucEllipseDialAisle2.Items"))),
((HZH_Controls.Controls.EllipseDialAisleItem)(resources.GetObject("ucEllipseDialAisle2.Items1"))),
((HZH_Controls.Controls.EllipseDialAisleItem)(resources.GetObject("ucEllipseDialAisle2.Items2"))),
((HZH_Controls.Controls.EllipseDialAisleItem)(resources.GetObject("ucEllipseDialAisle2.Items3"))),
((HZH_Controls.Controls.EllipseDialAisleItem)(resources.GetObject("ucEllipseDialAisle2.Items4"))),
((HZH_Controls.Controls.EllipseDialAisleItem)(resources.GetObject("ucEllipseDialAisle2.Items5"))),
((HZH_Controls.Controls.EllipseDialAisleItem)(resources.GetObject("ucEllipseDialAisle2.Items6"))),
((HZH_Controls.Controls.EllipseDialAisleItem)(resources.GetObject("ucEllipseDialAisle2.Items7"))),
((HZH_Controls.Controls.EllipseDialAisleItem)(resources.GetObject("ucEllipseDialAisle2.Items8"))),
((HZH_Controls.Controls.EllipseDialAisleItem)(resources.GetObject("ucEllipseDialAisle2.Items9"))),
((HZH_Controls.Controls.EllipseDialAisleItem)(resources.GetObject("ucEllipseDialAisle2.Items10"))),
((HZH_Controls.Controls.EllipseDialAisleItem)(resources.GetObject("ucEllipseDialAisle2.Items11")))};
this.ucEllipseDialAisle2.ItemSize = 30;
this.ucEllipseDialAisle2.Location = new System.Drawing.Point(284, 49);
this.ucEllipseDialAisle2.Name = "ucEllipseDialAisle2";
this.ucEllipseDialAisle2.Size = new System.Drawing.Size(373, 150);
this.ucEllipseDialAisle2.TabIndex = 1;
//
// UCTestUCEllipseDialAisle
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.ucEllipseDialAisle2);
this.Controls.Add(this.ucEllipseDialAisle1);
this.Name = "UCTestUCEllipseDialAisle";
this.Size = new System.Drawing.Size(698, 592);
this.ResumeLayout(false);
}
#endregion
private HZH_Controls.Controls.UCEllipseDialAisle ucEllipseDialAisle1;
private HZH_Controls.Controls.UCEllipseDialAisle ucEllipseDialAisle2;
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Test.UC
{
public partial class UCTestUCEllipseDialAisle : UserControl
{
public UCTestUCEllipseDialAisle()
{
InitializeComponent();
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="ucEllipseDialAisle1.CentreItem" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAENIWkhfQ29udHJvbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVy
ZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsDAMAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249
NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQEA
AAAqSFpIX0NvbnRyb2xzLkNvbnRyb2xzLkVsbGlwc2VEaWFsQWlzbGVJdGVtCQAAAAdiR0NvbG9yD3Nl
bGVjdGVkQkdDb2xvcglmb3JlQ29sb3IRc2VsZWN0ZWRGb3JlQ29sb3IEZm9udBQ8S2V5PmtfX0JhY2tp
bmdGaWVsZBU8VGV4dD5rX19CYWNraW5nRmllbGQbPERhdGFTb3VyY2U+a19fQmFja2luZ0ZpZWxkGTxT
ZWxlY3RlZD5rX19CYWNraW5nRmllbGQEBAQEBAEBAgAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAFFN5
c3RlbS5EcmF3aW5nLkNvbG9yAwAAABRTeXN0ZW0uRHJhd2luZy5Db2xvcgMAAAAUU3lzdGVtLkRyYXdp
bmcuQ29sb3IDAAAAE1N5c3RlbS5EcmF3aW5nLkZvbnQDAAAAAQIAAAAF/P///xRTeXN0ZW0uRHJhd2lu
Zy5Db2xvcgQAAAAEbmFtZQV2YWx1ZQprbm93bkNvbG9yBXN0YXRlAQAAAAkHBwMAAAAKO03//wAAAAAA
AAIAAfv////8////CrDJTv8AAAAAAAACAAH6/////P///woAAAAAAAAAAKQAAQAB+f////z///8KAAAA
AAAAAACkAAEACQgAAAAKBgkAAAACLTEKAAUIAAAAE1N5c3RlbS5EcmF3aW5nLkZvbnQEAAAABE5hbWUE
U2l6ZQVTdHlsZQRVbml0AQAEBAsYU3lzdGVtLkRyYXdpbmcuRm9udFN0eWxlAwAAABtTeXN0ZW0uRHJh
d2luZy5HcmFwaGljc1VuaXQDAAAAAwAAAAYKAAAADOW+rui9r+mbhem7kQAAIEEF9f///xhTeXN0ZW0u
RHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAMAAAAAAAAABfT///8bU3lzdGVtLkRyYXdpbmcu
R3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgDAAAAAwAAAAs=
</value>
</data>
<data name="ucEllipseDialAisle1.Items" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAENIWkhfQ29udHJvbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVy
ZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsDAMAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249
NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQEA
AAAqSFpIX0NvbnRyb2xzLkNvbnRyb2xzLkVsbGlwc2VEaWFsQWlzbGVJdGVtCQAAAAdiR0NvbG9yD3Nl
bGVjdGVkQkdDb2xvcglmb3JlQ29sb3IRc2VsZWN0ZWRGb3JlQ29sb3IEZm9udBQ8S2V5PmtfX0JhY2tp
bmdGaWVsZBU8VGV4dD5rX19CYWNraW5nRmllbGQbPERhdGFTb3VyY2U+a19fQmFja2luZ0ZpZWxkGTxT
ZWxlY3RlZD5rX19CYWNraW5nRmllbGQEBAQEBAEBAgAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAFFN5
c3RlbS5EcmF3aW5nLkNvbG9yAwAAABRTeXN0ZW0uRHJhd2luZy5Db2xvcgMAAAAUU3lzdGVtLkRyYXdp
bmcuQ29sb3IDAAAAE1N5c3RlbS5EcmF3aW5nLkZvbnQDAAAAAQIAAAAF/P///xRTeXN0ZW0uRHJhd2lu
Zy5Db2xvcgQAAAAEbmFtZQV2YWx1ZQprbm93bkNvbG9yBXN0YXRlAQAAAAkHBwMAAAAKO03//wAAAAAA
AAIAAfv////8////CrDJTv8AAAAAAAACAAH6/////P///woAAAAAAAAAAKQAAQAB+f////z///8KAAAA
AAAAAACkAAEACQgAAAAKBgkAAAABMQoABQgAAAATU3lzdGVtLkRyYXdpbmcuRm9udAQAAAAETmFtZQRT
aXplBVN0eWxlBFVuaXQBAAQECxhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUDAAAAG1N5c3RlbS5EcmF3
aW5nLkdyYXBoaWNzVW5pdAMAAAADAAAABgoAAAAM5b6u6L2v6ZuF6buRAAAgQQX1////GFN5c3RlbS5E
cmF3aW5nLkZvbnRTdHlsZQEAAAAHdmFsdWVfXwAIAwAAAAAAAAAF9P///xtTeXN0ZW0uRHJhd2luZy5H
cmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw==
</value>
</data>
<data name="ucEllipseDialAisle1.Items1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAENIWkhfQ29udHJvbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVy
ZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsDAMAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249
NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQEA
AAAqSFpIX0NvbnRyb2xzLkNvbnRyb2xzLkVsbGlwc2VEaWFsQWlzbGVJdGVtCQAAAAdiR0NvbG9yD3Nl
bGVjdGVkQkdDb2xvcglmb3JlQ29sb3IRc2VsZWN0ZWRGb3JlQ29sb3IEZm9udBQ8S2V5PmtfX0JhY2tp
bmdGaWVsZBU8VGV4dD5rX19CYWNraW5nRmllbGQbPERhdGFTb3VyY2U+a19fQmFja2luZ0ZpZWxkGTxT
ZWxlY3RlZD5rX19CYWNraW5nRmllbGQEBAQEBAEBAgAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAFFN5
c3RlbS5EcmF3aW5nLkNvbG9yAwAAABRTeXN0ZW0uRHJhd2luZy5Db2xvcgMAAAAUU3lzdGVtLkRyYXdp
bmcuQ29sb3IDAAAAE1N5c3RlbS5EcmF3aW5nLkZvbnQDAAAAAQIAAAAF/P///xRTeXN0ZW0uRHJhd2lu
Zy5Db2xvcgQAAAAEbmFtZQV2YWx1ZQprbm93bkNvbG9yBXN0YXRlAQAAAAkHBwMAAAAKO03//wAAAAAA
AAIAAfv////8////CrDJTv8AAAAAAAACAAH6/////P///woAAAAAAAAAAKQAAQAB+f////z///8KAAAA
AAAAAACkAAEACQgAAAAKBgkAAAABMgoABQgAAAATU3lzdGVtLkRyYXdpbmcuRm9udAQAAAAETmFtZQRT
aXplBVN0eWxlBFVuaXQBAAQECxhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUDAAAAG1N5c3RlbS5EcmF3
aW5nLkdyYXBoaWNzVW5pdAMAAAADAAAABgoAAAAM5b6u6L2v6ZuF6buRAAAgQQX1////GFN5c3RlbS5E
cmF3aW5nLkZvbnRTdHlsZQEAAAAHdmFsdWVfXwAIAwAAAAAAAAAF9P///xtTeXN0ZW0uRHJhd2luZy5H
cmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw==
</value>
</data>
<data name="ucEllipseDialAisle1.Items2" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAENIWkhfQ29udHJvbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVy
ZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsDAMAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249
NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQEA
AAAqSFpIX0NvbnRyb2xzLkNvbnRyb2xzLkVsbGlwc2VEaWFsQWlzbGVJdGVtCQAAAAdiR0NvbG9yD3Nl
bGVjdGVkQkdDb2xvcglmb3JlQ29sb3IRc2VsZWN0ZWRGb3JlQ29sb3IEZm9udBQ8S2V5PmtfX0JhY2tp
bmdGaWVsZBU8VGV4dD5rX19CYWNraW5nRmllbGQbPERhdGFTb3VyY2U+a19fQmFja2luZ0ZpZWxkGTxT
ZWxlY3RlZD5rX19CYWNraW5nRmllbGQEBAQEBAEBAgAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAFFN5
c3RlbS5EcmF3aW5nLkNvbG9yAwAAABRTeXN0ZW0uRHJhd2luZy5Db2xvcgMAAAAUU3lzdGVtLkRyYXdp
bmcuQ29sb3IDAAAAE1N5c3RlbS5EcmF3aW5nLkZvbnQDAAAAAQIAAAAF/P///xRTeXN0ZW0uRHJhd2lu
Zy5Db2xvcgQAAAAEbmFtZQV2YWx1ZQprbm93bkNvbG9yBXN0YXRlAQAAAAkHBwMAAAAKO03//wAAAAAA
AAIAAfv////8////CrDJTv8AAAAAAAACAAH6/////P///woAAAAAAAAAAKQAAQAB+f////z///8KAAAA
AAAAAACkAAEACQgAAAAKBgkAAAABMwoABQgAAAATU3lzdGVtLkRyYXdpbmcuRm9udAQAAAAETmFtZQRT
aXplBVN0eWxlBFVuaXQBAAQECxhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUDAAAAG1N5c3RlbS5EcmF3
aW5nLkdyYXBoaWNzVW5pdAMAAAADAAAABgoAAAAM5b6u6L2v6ZuF6buRAAAgQQX1////GFN5c3RlbS5E
cmF3aW5nLkZvbnRTdHlsZQEAAAAHdmFsdWVfXwAIAwAAAAAAAAAF9P///xtTeXN0ZW0uRHJhd2luZy5H
cmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw==
</value>
</data>
<data name="ucEllipseDialAisle1.Items3" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAENIWkhfQ29udHJvbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVy
ZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsDAMAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249
NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQEA
AAAqSFpIX0NvbnRyb2xzLkNvbnRyb2xzLkVsbGlwc2VEaWFsQWlzbGVJdGVtCQAAAAdiR0NvbG9yD3Nl
bGVjdGVkQkdDb2xvcglmb3JlQ29sb3IRc2VsZWN0ZWRGb3JlQ29sb3IEZm9udBQ8S2V5PmtfX0JhY2tp
bmdGaWVsZBU8VGV4dD5rX19CYWNraW5nRmllbGQbPERhdGFTb3VyY2U+a19fQmFja2luZ0ZpZWxkGTxT
ZWxlY3RlZD5rX19CYWNraW5nRmllbGQEBAQEBAEBAgAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAFFN5
c3RlbS5EcmF3aW5nLkNvbG9yAwAAABRTeXN0ZW0uRHJhd2luZy5Db2xvcgMAAAAUU3lzdGVtLkRyYXdp
bmcuQ29sb3IDAAAAE1N5c3RlbS5EcmF3aW5nLkZvbnQDAAAAAQIAAAAF/P///xRTeXN0ZW0uRHJhd2lu
Zy5Db2xvcgQAAAAEbmFtZQV2YWx1ZQprbm93bkNvbG9yBXN0YXRlAQAAAAkHBwMAAAAKO03//wAAAAAA
AAIAAfv////8////CrDJTv8AAAAAAAACAAH6/////P///woAAAAAAAAAAKQAAQAB+f////z///8KAAAA
AAAAAACkAAEACQgAAAAKBgkAAAABNAoABQgAAAATU3lzdGVtLkRyYXdpbmcuRm9udAQAAAAETmFtZQRT
aXplBVN0eWxlBFVuaXQBAAQECxhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUDAAAAG1N5c3RlbS5EcmF3
aW5nLkdyYXBoaWNzVW5pdAMAAAADAAAABgoAAAAM5b6u6L2v6ZuF6buRAAAgQQX1////GFN5c3RlbS5E
cmF3aW5nLkZvbnRTdHlsZQEAAAAHdmFsdWVfXwAIAwAAAAAAAAAF9P///xtTeXN0ZW0uRHJhd2luZy5H
cmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw==
</value>
</data>
<data name="ucEllipseDialAisle1.Items4" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAENIWkhfQ29udHJvbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVy
ZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsDAMAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249
NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQEA
AAAqSFpIX0NvbnRyb2xzLkNvbnRyb2xzLkVsbGlwc2VEaWFsQWlzbGVJdGVtCQAAAAdiR0NvbG9yD3Nl
bGVjdGVkQkdDb2xvcglmb3JlQ29sb3IRc2VsZWN0ZWRGb3JlQ29sb3IEZm9udBQ8S2V5PmtfX0JhY2tp
bmdGaWVsZBU8VGV4dD5rX19CYWNraW5nRmllbGQbPERhdGFTb3VyY2U+a19fQmFja2luZ0ZpZWxkGTxT
ZWxlY3RlZD5rX19CYWNraW5nRmllbGQEBAQEBAEBAgAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAFFN5
c3RlbS5EcmF3aW5nLkNvbG9yAwAAABRTeXN0ZW0uRHJhd2luZy5Db2xvcgMAAAAUU3lzdGVtLkRyYXdp
bmcuQ29sb3IDAAAAE1N5c3RlbS5EcmF3aW5nLkZvbnQDAAAAAQIAAAAF/P///xRTeXN0ZW0uRHJhd2lu
Zy5Db2xvcgQAAAAEbmFtZQV2YWx1ZQprbm93bkNvbG9yBXN0YXRlAQAAAAkHBwMAAAAKO03//wAAAAAA
AAIAAfv////8////CrDJTv8AAAAAAAACAAH6/////P///woAAAAAAAAAAKQAAQAB+f////z///8KAAAA
AAAAAACkAAEACQgAAAAKBgkAAAABNQoABQgAAAATU3lzdGVtLkRyYXdpbmcuRm9udAQAAAAETmFtZQRT
aXplBVN0eWxlBFVuaXQBAAQECxhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUDAAAAG1N5c3RlbS5EcmF3
aW5nLkdyYXBoaWNzVW5pdAMAAAADAAAABgoAAAAM5b6u6L2v6ZuF6buRAAAgQQX1////GFN5c3RlbS5E
cmF3aW5nLkZvbnRTdHlsZQEAAAAHdmFsdWVfXwAIAwAAAAAAAAAF9P///xtTeXN0ZW0uRHJhd2luZy5H
cmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw==
</value>
</data>
<data name="ucEllipseDialAisle1.Items5" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAENIWkhfQ29udHJvbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVy
ZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsDAMAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249
NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQEA
AAAqSFpIX0NvbnRyb2xzLkNvbnRyb2xzLkVsbGlwc2VEaWFsQWlzbGVJdGVtCQAAAAdiR0NvbG9yD3Nl
bGVjdGVkQkdDb2xvcglmb3JlQ29sb3IRc2VsZWN0ZWRGb3JlQ29sb3IEZm9udBQ8S2V5PmtfX0JhY2tp
bmdGaWVsZBU8VGV4dD5rX19CYWNraW5nRmllbGQbPERhdGFTb3VyY2U+a19fQmFja2luZ0ZpZWxkGTxT
ZWxlY3RlZD5rX19CYWNraW5nRmllbGQEBAQEBAEBAgAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAFFN5
c3RlbS5EcmF3aW5nLkNvbG9yAwAAABRTeXN0ZW0uRHJhd2luZy5Db2xvcgMAAAAUU3lzdGVtLkRyYXdp
bmcuQ29sb3IDAAAAE1N5c3RlbS5EcmF3aW5nLkZvbnQDAAAAAQIAAAAF/P///xRTeXN0ZW0uRHJhd2lu
Zy5Db2xvcgQAAAAEbmFtZQV2YWx1ZQprbm93bkNvbG9yBXN0YXRlAQAAAAkHBwMAAAAKO03//wAAAAAA
AAIAAfv////8////CrDJTv8AAAAAAAACAAH6/////P///woAAAAAAAAAAKQAAQAB+f////z///8KAAAA
AAAAAACkAAEACQgAAAAKBgkAAAABNgoABQgAAAATU3lzdGVtLkRyYXdpbmcuRm9udAQAAAAETmFtZQRT
aXplBVN0eWxlBFVuaXQBAAQECxhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUDAAAAG1N5c3RlbS5EcmF3
aW5nLkdyYXBoaWNzVW5pdAMAAAADAAAABgoAAAAM5b6u6L2v6ZuF6buRAAAgQQX1////GFN5c3RlbS5E
cmF3aW5nLkZvbnRTdHlsZQEAAAAHdmFsdWVfXwAIAwAAAAAAAAAF9P///xtTeXN0ZW0uRHJhd2luZy5H
cmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw==
</value>
</data>
<data name="ucEllipseDialAisle1.Items6" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAENIWkhfQ29udHJvbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVy
ZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsDAMAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249
NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQEA
AAAqSFpIX0NvbnRyb2xzLkNvbnRyb2xzLkVsbGlwc2VEaWFsQWlzbGVJdGVtCQAAAAdiR0NvbG9yD3Nl
bGVjdGVkQkdDb2xvcglmb3JlQ29sb3IRc2VsZWN0ZWRGb3JlQ29sb3IEZm9udBQ8S2V5PmtfX0JhY2tp
bmdGaWVsZBU8VGV4dD5rX19CYWNraW5nRmllbGQbPERhdGFTb3VyY2U+a19fQmFja2luZ0ZpZWxkGTxT
ZWxlY3RlZD5rX19CYWNraW5nRmllbGQEBAQEBAEBAgAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAFFN5
c3RlbS5EcmF3aW5nLkNvbG9yAwAAABRTeXN0ZW0uRHJhd2luZy5Db2xvcgMAAAAUU3lzdGVtLkRyYXdp
bmcuQ29sb3IDAAAAE1N5c3RlbS5EcmF3aW5nLkZvbnQDAAAAAQIAAAAF/P///xRTeXN0ZW0uRHJhd2lu
Zy5Db2xvcgQAAAAEbmFtZQV2YWx1ZQprbm93bkNvbG9yBXN0YXRlAQAAAAkHBwMAAAAKO03//wAAAAAA
AAIAAfv////8////CrDJTv8AAAAAAAACAAH6/////P///woAAAAAAAAAAKQAAQAB+f////z///8KAAAA
AAAAAACkAAEACQgAAAAKBgkAAAABNwoABQgAAAATU3lzdGVtLkRyYXdpbmcuRm9udAQAAAAETmFtZQRT
aXplBVN0eWxlBFVuaXQBAAQECxhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUDAAAAG1N5c3RlbS5EcmF3
aW5nLkdyYXBoaWNzVW5pdAMAAAADAAAABgoAAAAM5b6u6L2v6ZuF6buRAAAgQQX1////GFN5c3RlbS5E
cmF3aW5nLkZvbnRTdHlsZQEAAAAHdmFsdWVfXwAIAwAAAAAAAAAF9P///xtTeXN0ZW0uRHJhd2luZy5H
cmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw==
</value>
</data>
<data name="ucEllipseDialAisle1.Items7" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAENIWkhfQ29udHJvbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVy
ZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsDAMAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249
NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQEA
AAAqSFpIX0NvbnRyb2xzLkNvbnRyb2xzLkVsbGlwc2VEaWFsQWlzbGVJdGVtCQAAAAdiR0NvbG9yD3Nl
bGVjdGVkQkdDb2xvcglmb3JlQ29sb3IRc2VsZWN0ZWRGb3JlQ29sb3IEZm9udBQ8S2V5PmtfX0JhY2tp
bmdGaWVsZBU8VGV4dD5rX19CYWNraW5nRmllbGQbPERhdGFTb3VyY2U+a19fQmFja2luZ0ZpZWxkGTxT
ZWxlY3RlZD5rX19CYWNraW5nRmllbGQEBAQEBAEBAgAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAFFN5
c3RlbS5EcmF3aW5nLkNvbG9yAwAAABRTeXN0ZW0uRHJhd2luZy5Db2xvcgMAAAAUU3lzdGVtLkRyYXdp
bmcuQ29sb3IDAAAAE1N5c3RlbS5EcmF3aW5nLkZvbnQDAAAAAQIAAAAF/P///xRTeXN0ZW0uRHJhd2lu
Zy5Db2xvcgQAAAAEbmFtZQV2YWx1ZQprbm93bkNvbG9yBXN0YXRlAQAAAAkHBwMAAAAKO03//wAAAAAA
AAIAAfv////8////CrDJTv8AAAAAAAACAAH6/////P///woAAAAAAAAAAKQAAQAB+f////z///8KAAAA
AAAAAACkAAEACQgAAAAKBgkAAAABOAoABQgAAAATU3lzdGVtLkRyYXdpbmcuRm9udAQAAAAETmFtZQRT
aXplBVN0eWxlBFVuaXQBAAQECxhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUDAAAAG1N5c3RlbS5EcmF3
aW5nLkdyYXBoaWNzVW5pdAMAAAADAAAABgoAAAAM5b6u6L2v6ZuF6buRAAAgQQX1////GFN5c3RlbS5E
cmF3aW5nLkZvbnRTdHlsZQEAAAAHdmFsdWVfXwAIAwAAAAAAAAAF9P///xtTeXN0ZW0uRHJhd2luZy5H
cmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw==
</value>
</data>
<data name="ucEllipseDialAisle1.Items8" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAENIWkhfQ29udHJvbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVy
ZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsDAMAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249
NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQEA
AAAqSFpIX0NvbnRyb2xzLkNvbnRyb2xzLkVsbGlwc2VEaWFsQWlzbGVJdGVtCQAAAAdiR0NvbG9yD3Nl
bGVjdGVkQkdDb2xvcglmb3JlQ29sb3IRc2VsZWN0ZWRGb3JlQ29sb3IEZm9udBQ8S2V5PmtfX0JhY2tp
bmdGaWVsZBU8VGV4dD5rX19CYWNraW5nRmllbGQbPERhdGFTb3VyY2U+a19fQmFja2luZ0ZpZWxkGTxT
ZWxlY3RlZD5rX19CYWNraW5nRmllbGQEBAQEBAEBAgAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAFFN5
c3RlbS5EcmF3aW5nLkNvbG9yAwAAABRTeXN0ZW0uRHJhd2luZy5Db2xvcgMAAAAUU3lzdGVtLkRyYXdp
bmcuQ29sb3IDAAAAE1N5c3RlbS5EcmF3aW5nLkZvbnQDAAAAAQIAAAAF/P///xRTeXN0ZW0uRHJhd2lu
Zy5Db2xvcgQAAAAEbmFtZQV2YWx1ZQprbm93bkNvbG9yBXN0YXRlAQAAAAkHBwMAAAAKO03//wAAAAAA
AAIAAfv////8////CrDJTv8AAAAAAAACAAH6/////P///woAAAAAAAAAAKQAAQAB+f////z///8KAAAA
AAAAAACkAAEACQgAAAAKBgkAAAABOQoABQgAAAATU3lzdGVtLkRyYXdpbmcuRm9udAQAAAAETmFtZQRT
aXplBVN0eWxlBFVuaXQBAAQECxhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUDAAAAG1N5c3RlbS5EcmF3
aW5nLkdyYXBoaWNzVW5pdAMAAAADAAAABgoAAAAM5b6u6L2v6ZuF6buRAAAgQQX1////GFN5c3RlbS5E
cmF3aW5nLkZvbnRTdHlsZQEAAAAHdmFsdWVfXwAIAwAAAAAAAAAF9P///xtTeXN0ZW0uRHJhd2luZy5H
cmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw==
</value>
</data>
<data name="ucEllipseDialAisle1.Items9" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAENIWkhfQ29udHJvbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVy
ZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsDAMAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249
NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQEA
AAAqSFpIX0NvbnRyb2xzLkNvbnRyb2xzLkVsbGlwc2VEaWFsQWlzbGVJdGVtCQAAAAdiR0NvbG9yD3Nl
bGVjdGVkQkdDb2xvcglmb3JlQ29sb3IRc2VsZWN0ZWRGb3JlQ29sb3IEZm9udBQ8S2V5PmtfX0JhY2tp
bmdGaWVsZBU8VGV4dD5rX19CYWNraW5nRmllbGQbPERhdGFTb3VyY2U+a19fQmFja2luZ0ZpZWxkGTxT
ZWxlY3RlZD5rX19CYWNraW5nRmllbGQEBAQEBAEBAgAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAFFN5
c3RlbS5EcmF3aW5nLkNvbG9yAwAAABRTeXN0ZW0uRHJhd2luZy5Db2xvcgMAAAAUU3lzdGVtLkRyYXdp
bmcuQ29sb3IDAAAAE1N5c3RlbS5EcmF3aW5nLkZvbnQDAAAAAQIAAAAF/P///xRTeXN0ZW0uRHJhd2lu
Zy5Db2xvcgQAAAAEbmFtZQV2YWx1ZQprbm93bkNvbG9yBXN0YXRlAQAAAAkHBwMAAAAKO03//wAAAAAA
AAIAAfv////8////CrDJTv8AAAAAAAACAAH6/////P///woAAAAAAAAAAKQAAQAB+f////z///8KAAAA
AAAAAACkAAEACQgAAAAKBgkAAAACMTAKAAUIAAAAE1N5c3RlbS5EcmF3aW5nLkZvbnQEAAAABE5hbWUE
U2l6ZQVTdHlsZQRVbml0AQAEBAsYU3lzdGVtLkRyYXdpbmcuRm9udFN0eWxlAwAAABtTeXN0ZW0uRHJh
d2luZy5HcmFwaGljc1VuaXQDAAAAAwAAAAYKAAAADOW+rui9r+mbhem7kQAAIEEF9f///xhTeXN0ZW0u
RHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAMAAAAAAAAABfT///8bU3lzdGVtLkRyYXdpbmcu
R3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgDAAAAAwAAAAs=
</value>
</data>
<data name="ucEllipseDialAisle1.Items10" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAENIWkhfQ29udHJvbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVy
ZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsDAMAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249
NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQEA
AAAqSFpIX0NvbnRyb2xzLkNvbnRyb2xzLkVsbGlwc2VEaWFsQWlzbGVJdGVtCQAAAAdiR0NvbG9yD3Nl
bGVjdGVkQkdDb2xvcglmb3JlQ29sb3IRc2VsZWN0ZWRGb3JlQ29sb3IEZm9udBQ8S2V5PmtfX0JhY2tp
bmdGaWVsZBU8VGV4dD5rX19CYWNraW5nRmllbGQbPERhdGFTb3VyY2U+a19fQmFja2luZ0ZpZWxkGTxT
ZWxlY3RlZD5rX19CYWNraW5nRmllbGQEBAQEBAEBAgAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAFFN5
c3RlbS5EcmF3aW5nLkNvbG9yAwAAABRTeXN0ZW0uRHJhd2luZy5Db2xvcgMAAAAUU3lzdGVtLkRyYXdp
bmcuQ29sb3IDAAAAE1N5c3RlbS5EcmF3aW5nLkZvbnQDAAAAAQIAAAAF/P///xRTeXN0ZW0uRHJhd2lu
Zy5Db2xvcgQAAAAEbmFtZQV2YWx1ZQprbm93bkNvbG9yBXN0YXRlAQAAAAkHBwMAAAAKO03//wAAAAAA
AAIAAfv////8////CrDJTv8AAAAAAAACAAH6/////P///woAAAAAAAAAAKQAAQAB+f////z///8KAAAA
AAAAAACkAAEACQgAAAAKBgkAAAACMTEKAAUIAAAAE1N5c3RlbS5EcmF3aW5nLkZvbnQEAAAABE5hbWUE
U2l6ZQVTdHlsZQRVbml0AQAEBAsYU3lzdGVtLkRyYXdpbmcuRm9udFN0eWxlAwAAABtTeXN0ZW0uRHJh
d2luZy5HcmFwaGljc1VuaXQDAAAAAwAAAAYKAAAADOW+rui9r+mbhem7kQAAIEEF9f///xhTeXN0ZW0u
RHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAMAAAAAAAAABfT///8bU3lzdGVtLkRyYXdpbmcu
R3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgDAAAAAwAAAAs=
</value>
</data>
<data name="ucEllipseDialAisle1.Items11" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAENIWkhfQ29udHJvbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVy
ZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsDAMAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249
NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQEA
AAAqSFpIX0NvbnRyb2xzLkNvbnRyb2xzLkVsbGlwc2VEaWFsQWlzbGVJdGVtCQAAAAdiR0NvbG9yD3Nl
bGVjdGVkQkdDb2xvcglmb3JlQ29sb3IRc2VsZWN0ZWRGb3JlQ29sb3IEZm9udBQ8S2V5PmtfX0JhY2tp
bmdGaWVsZBU8VGV4dD5rX19CYWNraW5nRmllbGQbPERhdGFTb3VyY2U+a19fQmFja2luZ0ZpZWxkGTxT
ZWxlY3RlZD5rX19CYWNraW5nRmllbGQEBAQEBAEBAgAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAFFN5
c3RlbS5EcmF3aW5nLkNvbG9yAwAAABRTeXN0ZW0uRHJhd2luZy5Db2xvcgMAAAAUU3lzdGVtLkRyYXdp
bmcuQ29sb3IDAAAAE1N5c3RlbS5EcmF3aW5nLkZvbnQDAAAAAQIAAAAF/P///xRTeXN0ZW0uRHJhd2lu
Zy5Db2xvcgQAAAAEbmFtZQV2YWx1ZQprbm93bkNvbG9yBXN0YXRlAQAAAAkHBwMAAAAKO03//wAAAAAA
AAIAAfv////8////CrDJTv8AAAAAAAACAAH6/////P///woAAAAAAAAAAKQAAQAB+f////z///8KAAAA
AAAAAACkAAEACQgAAAAKBgkAAAACMTIKAAUIAAAAE1N5c3RlbS5EcmF3aW5nLkZvbnQEAAAABE5hbWUE
U2l6ZQVTdHlsZQRVbml0AQAEBAsYU3lzdGVtLkRyYXdpbmcuRm9udFN0eWxlAwAAABtTeXN0ZW0uRHJh
d2luZy5HcmFwaGljc1VuaXQDAAAAAwAAAAYKAAAADOW+rui9r+mbhem7kQAAIEEF9f///xhTeXN0ZW0u
RHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAMAAAAAAAAABfT///8bU3lzdGVtLkRyYXdpbmcu
R3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgDAAAAAwAAAAs=
</value>
</data>
<data name="ucEllipseDialAisle2.CentreItem" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAENIWkhfQ29udHJvbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVy
ZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsDAMAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249
NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQEA
AAAqSFpIX0NvbnRyb2xzLkNvbnRyb2xzLkVsbGlwc2VEaWFsQWlzbGVJdGVtCQAAAAdiR0NvbG9yD3Nl
bGVjdGVkQkdDb2xvcglmb3JlQ29sb3IRc2VsZWN0ZWRGb3JlQ29sb3IEZm9udBQ8S2V5PmtfX0JhY2tp
bmdGaWVsZBU8VGV4dD5rX19CYWNraW5nRmllbGQbPERhdGFTb3VyY2U+a19fQmFja2luZ0ZpZWxkGTxT
ZWxlY3RlZD5rX19CYWNraW5nRmllbGQEBAQEBAEBAgAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAFFN5
c3RlbS5EcmF3aW5nLkNvbG9yAwAAABRTeXN0ZW0uRHJhd2luZy5Db2xvcgMAAAAUU3lzdGVtLkRyYXdp
bmcuQ29sb3IDAAAAE1N5c3RlbS5EcmF3aW5nLkZvbnQDAAAAAQIAAAAF/P///xRTeXN0ZW0uRHJhd2lu
Zy5Db2xvcgQAAAAEbmFtZQV2YWx1ZQprbm93bkNvbG9yBXN0YXRlAQAAAAkHBwMAAAAKO03//wAAAAAA
AAIAAfv////8////CrDJTv8AAAAAAAACAAH6/////P///woAAAAAAAAAAKQAAQAB+f////z///8KAAAA
AAAAAACkAAEACQgAAAAKBgkAAAACLTEKAAUIAAAAE1N5c3RlbS5EcmF3aW5nLkZvbnQEAAAABE5hbWUE
U2l6ZQVTdHlsZQRVbml0AQAEBAsYU3lzdGVtLkRyYXdpbmcuRm9udFN0eWxlAwAAABtTeXN0ZW0uRHJh
d2luZy5HcmFwaGljc1VuaXQDAAAAAwAAAAYKAAAADOW+rui9r+mbhem7kQAAIEEF9f///xhTeXN0ZW0u
RHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAMAAAAAAAAABfT///8bU3lzdGVtLkRyYXdpbmcu
R3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgDAAAAAwAAAAs=
</value>
</data>
<data name="ucEllipseDialAisle2.Items" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAENIWkhfQ29udHJvbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVy
ZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsDAMAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249
NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQEA
AAAqSFpIX0NvbnRyb2xzLkNvbnRyb2xzLkVsbGlwc2VEaWFsQWlzbGVJdGVtCQAAAAdiR0NvbG9yD3Nl
bGVjdGVkQkdDb2xvcglmb3JlQ29sb3IRc2VsZWN0ZWRGb3JlQ29sb3IEZm9udBQ8S2V5PmtfX0JhY2tp
bmdGaWVsZBU8VGV4dD5rX19CYWNraW5nRmllbGQbPERhdGFTb3VyY2U+a19fQmFja2luZ0ZpZWxkGTxT
ZWxlY3RlZD5rX19CYWNraW5nRmllbGQEBAQEBAEBAgAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAFFN5
c3RlbS5EcmF3aW5nLkNvbG9yAwAAABRTeXN0ZW0uRHJhd2luZy5Db2xvcgMAAAAUU3lzdGVtLkRyYXdp
bmcuQ29sb3IDAAAAE1N5c3RlbS5EcmF3aW5nLkZvbnQDAAAAAQIAAAAF/P///xRTeXN0ZW0uRHJhd2lu
Zy5Db2xvcgQAAAAEbmFtZQV2YWx1ZQprbm93bkNvbG9yBXN0YXRlAQAAAAkHBwMAAAAKO03//wAAAAAA
AAIAAfv////8////CrDJTv8AAAAAAAACAAH6/////P///woAAAAAAAAAAKQAAQAB+f////z///8KAAAA
AAAAAACkAAEACQgAAAAKBgkAAAABMQoABQgAAAATU3lzdGVtLkRyYXdpbmcuRm9udAQAAAAETmFtZQRT
aXplBVN0eWxlBFVuaXQBAAQECxhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUDAAAAG1N5c3RlbS5EcmF3
aW5nLkdyYXBoaWNzVW5pdAMAAAADAAAABgoAAAAM5b6u6L2v6ZuF6buRAAAgQQX1////GFN5c3RlbS5E
cmF3aW5nLkZvbnRTdHlsZQEAAAAHdmFsdWVfXwAIAwAAAAAAAAAF9P///xtTeXN0ZW0uRHJhd2luZy5H
cmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw==
</value>
</data>
<data name="ucEllipseDialAisle2.Items1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAENIWkhfQ29udHJvbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVy
ZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsDAMAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249
NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQEA
AAAqSFpIX0NvbnRyb2xzLkNvbnRyb2xzLkVsbGlwc2VEaWFsQWlzbGVJdGVtCQAAAAdiR0NvbG9yD3Nl
bGVjdGVkQkdDb2xvcglmb3JlQ29sb3IRc2VsZWN0ZWRGb3JlQ29sb3IEZm9udBQ8S2V5PmtfX0JhY2tp
bmdGaWVsZBU8VGV4dD5rX19CYWNraW5nRmllbGQbPERhdGFTb3VyY2U+a19fQmFja2luZ0ZpZWxkGTxT
ZWxlY3RlZD5rX19CYWNraW5nRmllbGQEBAQEBAEBAgAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAFFN5
c3RlbS5EcmF3aW5nLkNvbG9yAwAAABRTeXN0ZW0uRHJhd2luZy5Db2xvcgMAAAAUU3lzdGVtLkRyYXdp
bmcuQ29sb3IDAAAAE1N5c3RlbS5EcmF3aW5nLkZvbnQDAAAAAQIAAAAF/P///xRTeXN0ZW0uRHJhd2lu
Zy5Db2xvcgQAAAAEbmFtZQV2YWx1ZQprbm93bkNvbG9yBXN0YXRlAQAAAAkHBwMAAAAKO03//wAAAAAA
AAIAAfv////8////CrDJTv8AAAAAAAACAAH6/////P///woAAAAAAAAAAKQAAQAB+f////z///8KAAAA
AAAAAACkAAEACQgAAAAKBgkAAAABMgoABQgAAAATU3lzdGVtLkRyYXdpbmcuRm9udAQAAAAETmFtZQRT
aXplBVN0eWxlBFVuaXQBAAQECxhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUDAAAAG1N5c3RlbS5EcmF3
aW5nLkdyYXBoaWNzVW5pdAMAAAADAAAABgoAAAAM5b6u6L2v6ZuF6buRAAAgQQX1////GFN5c3RlbS5E
cmF3aW5nLkZvbnRTdHlsZQEAAAAHdmFsdWVfXwAIAwAAAAAAAAAF9P///xtTeXN0ZW0uRHJhd2luZy5H
cmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw==
</value>
</data>
<data name="ucEllipseDialAisle2.Items2" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAENIWkhfQ29udHJvbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVy
ZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsDAMAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249
NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQEA
AAAqSFpIX0NvbnRyb2xzLkNvbnRyb2xzLkVsbGlwc2VEaWFsQWlzbGVJdGVtCQAAAAdiR0NvbG9yD3Nl
bGVjdGVkQkdDb2xvcglmb3JlQ29sb3IRc2VsZWN0ZWRGb3JlQ29sb3IEZm9udBQ8S2V5PmtfX0JhY2tp
bmdGaWVsZBU8VGV4dD5rX19CYWNraW5nRmllbGQbPERhdGFTb3VyY2U+a19fQmFja2luZ0ZpZWxkGTxT
ZWxlY3RlZD5rX19CYWNraW5nRmllbGQEBAQEBAEBAgAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAFFN5
c3RlbS5EcmF3aW5nLkNvbG9yAwAAABRTeXN0ZW0uRHJhd2luZy5Db2xvcgMAAAAUU3lzdGVtLkRyYXdp
bmcuQ29sb3IDAAAAE1N5c3RlbS5EcmF3aW5nLkZvbnQDAAAAAQIAAAAF/P///xRTeXN0ZW0uRHJhd2lu
Zy5Db2xvcgQAAAAEbmFtZQV2YWx1ZQprbm93bkNvbG9yBXN0YXRlAQAAAAkHBwMAAAAKO03//wAAAAAA
AAIAAfv////8////CrDJTv8AAAAAAAACAAH6/////P///woAAAAAAAAAAKQAAQAB+f////z///8KAAAA
AAAAAACkAAEACQgAAAAKBgkAAAABMwoABQgAAAATU3lzdGVtLkRyYXdpbmcuRm9udAQAAAAETmFtZQRT
aXplBVN0eWxlBFVuaXQBAAQECxhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUDAAAAG1N5c3RlbS5EcmF3
aW5nLkdyYXBoaWNzVW5pdAMAAAADAAAABgoAAAAM5b6u6L2v6ZuF6buRAAAgQQX1////GFN5c3RlbS5E
cmF3aW5nLkZvbnRTdHlsZQEAAAAHdmFsdWVfXwAIAwAAAAAAAAAF9P///xtTeXN0ZW0uRHJhd2luZy5H
cmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw==
</value>
</data>
<data name="ucEllipseDialAisle2.Items3" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAENIWkhfQ29udHJvbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVy
ZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsDAMAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249
NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQEA
AAAqSFpIX0NvbnRyb2xzLkNvbnRyb2xzLkVsbGlwc2VEaWFsQWlzbGVJdGVtCQAAAAdiR0NvbG9yD3Nl
bGVjdGVkQkdDb2xvcglmb3JlQ29sb3IRc2VsZWN0ZWRGb3JlQ29sb3IEZm9udBQ8S2V5PmtfX0JhY2tp
bmdGaWVsZBU8VGV4dD5rX19CYWNraW5nRmllbGQbPERhdGFTb3VyY2U+a19fQmFja2luZ0ZpZWxkGTxT
ZWxlY3RlZD5rX19CYWNraW5nRmllbGQEBAQEBAEBAgAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAFFN5
c3RlbS5EcmF3aW5nLkNvbG9yAwAAABRTeXN0ZW0uRHJhd2luZy5Db2xvcgMAAAAUU3lzdGVtLkRyYXdp
bmcuQ29sb3IDAAAAE1N5c3RlbS5EcmF3aW5nLkZvbnQDAAAAAQIAAAAF/P///xRTeXN0ZW0uRHJhd2lu
Zy5Db2xvcgQAAAAEbmFtZQV2YWx1ZQprbm93bkNvbG9yBXN0YXRlAQAAAAkHBwMAAAAKO03//wAAAAAA
AAIAAfv////8////CrDJTv8AAAAAAAACAAH6/////P///woAAAAAAAAAAKQAAQAB+f////z///8KAAAA
AAAAAACkAAEACQgAAAAKBgkAAAABNAoABQgAAAATU3lzdGVtLkRyYXdpbmcuRm9udAQAAAAETmFtZQRT
aXplBVN0eWxlBFVuaXQBAAQECxhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUDAAAAG1N5c3RlbS5EcmF3
aW5nLkdyYXBoaWNzVW5pdAMAAAADAAAABgoAAAAM5b6u6L2v6ZuF6buRAAAgQQX1////GFN5c3RlbS5E
cmF3aW5nLkZvbnRTdHlsZQEAAAAHdmFsdWVfXwAIAwAAAAAAAAAF9P///xtTeXN0ZW0uRHJhd2luZy5H
cmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw==
</value>
</data>
<data name="ucEllipseDialAisle2.Items4" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAENIWkhfQ29udHJvbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVy
ZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsDAMAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249
NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQEA
AAAqSFpIX0NvbnRyb2xzLkNvbnRyb2xzLkVsbGlwc2VEaWFsQWlzbGVJdGVtCQAAAAdiR0NvbG9yD3Nl
bGVjdGVkQkdDb2xvcglmb3JlQ29sb3IRc2VsZWN0ZWRGb3JlQ29sb3IEZm9udBQ8S2V5PmtfX0JhY2tp
bmdGaWVsZBU8VGV4dD5rX19CYWNraW5nRmllbGQbPERhdGFTb3VyY2U+a19fQmFja2luZ0ZpZWxkGTxT
ZWxlY3RlZD5rX19CYWNraW5nRmllbGQEBAQEBAEBAgAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAFFN5
c3RlbS5EcmF3aW5nLkNvbG9yAwAAABRTeXN0ZW0uRHJhd2luZy5Db2xvcgMAAAAUU3lzdGVtLkRyYXdp
bmcuQ29sb3IDAAAAE1N5c3RlbS5EcmF3aW5nLkZvbnQDAAAAAQIAAAAF/P///xRTeXN0ZW0uRHJhd2lu
Zy5Db2xvcgQAAAAEbmFtZQV2YWx1ZQprbm93bkNvbG9yBXN0YXRlAQAAAAkHBwMAAAAKO03//wAAAAAA
AAIAAfv////8////CrDJTv8AAAAAAAACAAH6/////P///woAAAAAAAAAAKQAAQAB+f////z///8KAAAA
AAAAAACkAAEACQgAAAAKBgkAAAABNQoABQgAAAATU3lzdGVtLkRyYXdpbmcuRm9udAQAAAAETmFtZQRT
aXplBVN0eWxlBFVuaXQBAAQECxhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUDAAAAG1N5c3RlbS5EcmF3
aW5nLkdyYXBoaWNzVW5pdAMAAAADAAAABgoAAAAM5b6u6L2v6ZuF6buRAAAgQQX1////GFN5c3RlbS5E
cmF3aW5nLkZvbnRTdHlsZQEAAAAHdmFsdWVfXwAIAwAAAAAAAAAF9P///xtTeXN0ZW0uRHJhd2luZy5H
cmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw==
</value>
</data>
<data name="ucEllipseDialAisle2.Items5" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAENIWkhfQ29udHJvbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVy
ZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsDAMAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249
NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQEA
AAAqSFpIX0NvbnRyb2xzLkNvbnRyb2xzLkVsbGlwc2VEaWFsQWlzbGVJdGVtCQAAAAdiR0NvbG9yD3Nl
bGVjdGVkQkdDb2xvcglmb3JlQ29sb3IRc2VsZWN0ZWRGb3JlQ29sb3IEZm9udBQ8S2V5PmtfX0JhY2tp
bmdGaWVsZBU8VGV4dD5rX19CYWNraW5nRmllbGQbPERhdGFTb3VyY2U+a19fQmFja2luZ0ZpZWxkGTxT
ZWxlY3RlZD5rX19CYWNraW5nRmllbGQEBAQEBAEBAgAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAFFN5
c3RlbS5EcmF3aW5nLkNvbG9yAwAAABRTeXN0ZW0uRHJhd2luZy5Db2xvcgMAAAAUU3lzdGVtLkRyYXdp
bmcuQ29sb3IDAAAAE1N5c3RlbS5EcmF3aW5nLkZvbnQDAAAAAQIAAAAF/P///xRTeXN0ZW0uRHJhd2lu
Zy5Db2xvcgQAAAAEbmFtZQV2YWx1ZQprbm93bkNvbG9yBXN0YXRlAQAAAAkHBwMAAAAKO03//wAAAAAA
AAIAAfv////8////CrDJTv8AAAAAAAACAAH6/////P///woAAAAAAAAAAKQAAQAB+f////z///8KAAAA
AAAAAACkAAEACQgAAAAKBgkAAAABNgoABQgAAAATU3lzdGVtLkRyYXdpbmcuRm9udAQAAAAETmFtZQRT
aXplBVN0eWxlBFVuaXQBAAQECxhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUDAAAAG1N5c3RlbS5EcmF3
aW5nLkdyYXBoaWNzVW5pdAMAAAADAAAABgoAAAAM5b6u6L2v6ZuF6buRAAAgQQX1////GFN5c3RlbS5E
cmF3aW5nLkZvbnRTdHlsZQEAAAAHdmFsdWVfXwAIAwAAAAAAAAAF9P///xtTeXN0ZW0uRHJhd2luZy5H
cmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw==
</value>
</data>
<data name="ucEllipseDialAisle2.Items6" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAENIWkhfQ29udHJvbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVy
ZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsDAMAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249
NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQEA
AAAqSFpIX0NvbnRyb2xzLkNvbnRyb2xzLkVsbGlwc2VEaWFsQWlzbGVJdGVtCQAAAAdiR0NvbG9yD3Nl
bGVjdGVkQkdDb2xvcglmb3JlQ29sb3IRc2VsZWN0ZWRGb3JlQ29sb3IEZm9udBQ8S2V5PmtfX0JhY2tp
bmdGaWVsZBU8VGV4dD5rX19CYWNraW5nRmllbGQbPERhdGFTb3VyY2U+a19fQmFja2luZ0ZpZWxkGTxT
ZWxlY3RlZD5rX19CYWNraW5nRmllbGQEBAQEBAEBAgAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAFFN5
c3RlbS5EcmF3aW5nLkNvbG9yAwAAABRTeXN0ZW0uRHJhd2luZy5Db2xvcgMAAAAUU3lzdGVtLkRyYXdp
bmcuQ29sb3IDAAAAE1N5c3RlbS5EcmF3aW5nLkZvbnQDAAAAAQIAAAAF/P///xRTeXN0ZW0uRHJhd2lu
Zy5Db2xvcgQAAAAEbmFtZQV2YWx1ZQprbm93bkNvbG9yBXN0YXRlAQAAAAkHBwMAAAAKO03//wAAAAAA
AAIAAfv////8////CrDJTv8AAAAAAAACAAH6/////P///woAAAAAAAAAAKQAAQAB+f////z///8KAAAA
AAAAAACkAAEACQgAAAAKBgkAAAABNwoABQgAAAATU3lzdGVtLkRyYXdpbmcuRm9udAQAAAAETmFtZQRT
aXplBVN0eWxlBFVuaXQBAAQECxhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUDAAAAG1N5c3RlbS5EcmF3
aW5nLkdyYXBoaWNzVW5pdAMAAAADAAAABgoAAAAM5b6u6L2v6ZuF6buRAAAgQQX1////GFN5c3RlbS5E
cmF3aW5nLkZvbnRTdHlsZQEAAAAHdmFsdWVfXwAIAwAAAAAAAAAF9P///xtTeXN0ZW0uRHJhd2luZy5H
cmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw==
</value>
</data>
<data name="ucEllipseDialAisle2.Items7" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAENIWkhfQ29udHJvbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVy
ZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsDAMAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249
NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQEA
AAAqSFpIX0NvbnRyb2xzLkNvbnRyb2xzLkVsbGlwc2VEaWFsQWlzbGVJdGVtCQAAAAdiR0NvbG9yD3Nl
bGVjdGVkQkdDb2xvcglmb3JlQ29sb3IRc2VsZWN0ZWRGb3JlQ29sb3IEZm9udBQ8S2V5PmtfX0JhY2tp
bmdGaWVsZBU8VGV4dD5rX19CYWNraW5nRmllbGQbPERhdGFTb3VyY2U+a19fQmFja2luZ0ZpZWxkGTxT
ZWxlY3RlZD5rX19CYWNraW5nRmllbGQEBAQEBAEBAgAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAFFN5
c3RlbS5EcmF3aW5nLkNvbG9yAwAAABRTeXN0ZW0uRHJhd2luZy5Db2xvcgMAAAAUU3lzdGVtLkRyYXdp
bmcuQ29sb3IDAAAAE1N5c3RlbS5EcmF3aW5nLkZvbnQDAAAAAQIAAAAF/P///xRTeXN0ZW0uRHJhd2lu
Zy5Db2xvcgQAAAAEbmFtZQV2YWx1ZQprbm93bkNvbG9yBXN0YXRlAQAAAAkHBwMAAAAKO03//wAAAAAA
AAIAAfv////8////CrDJTv8AAAAAAAACAAH6/////P///woAAAAAAAAAAKQAAQAB+f////z///8KAAAA
AAAAAACkAAEACQgAAAAKBgkAAAABOAoABQgAAAATU3lzdGVtLkRyYXdpbmcuRm9udAQAAAAETmFtZQRT
aXplBVN0eWxlBFVuaXQBAAQECxhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUDAAAAG1N5c3RlbS5EcmF3
aW5nLkdyYXBoaWNzVW5pdAMAAAADAAAABgoAAAAM5b6u6L2v6ZuF6buRAAAgQQX1////GFN5c3RlbS5E
cmF3aW5nLkZvbnRTdHlsZQEAAAAHdmFsdWVfXwAIAwAAAAAAAAAF9P///xtTeXN0ZW0uRHJhd2luZy5H
cmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw==
</value>
</data>
<data name="ucEllipseDialAisle2.Items8" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAENIWkhfQ29udHJvbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVy
ZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsDAMAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249
NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQEA
AAAqSFpIX0NvbnRyb2xzLkNvbnRyb2xzLkVsbGlwc2VEaWFsQWlzbGVJdGVtCQAAAAdiR0NvbG9yD3Nl
bGVjdGVkQkdDb2xvcglmb3JlQ29sb3IRc2VsZWN0ZWRGb3JlQ29sb3IEZm9udBQ8S2V5PmtfX0JhY2tp
bmdGaWVsZBU8VGV4dD5rX19CYWNraW5nRmllbGQbPERhdGFTb3VyY2U+a19fQmFja2luZ0ZpZWxkGTxT
ZWxlY3RlZD5rX19CYWNraW5nRmllbGQEBAQEBAEBAgAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAFFN5
c3RlbS5EcmF3aW5nLkNvbG9yAwAAABRTeXN0ZW0uRHJhd2luZy5Db2xvcgMAAAAUU3lzdGVtLkRyYXdp
bmcuQ29sb3IDAAAAE1N5c3RlbS5EcmF3aW5nLkZvbnQDAAAAAQIAAAAF/P///xRTeXN0ZW0uRHJhd2lu
Zy5Db2xvcgQAAAAEbmFtZQV2YWx1ZQprbm93bkNvbG9yBXN0YXRlAQAAAAkHBwMAAAAKO03//wAAAAAA
AAIAAfv////8////CrDJTv8AAAAAAAACAAH6/////P///woAAAAAAAAAAKQAAQAB+f////z///8KAAAA
AAAAAACkAAEACQgAAAAKBgkAAAABOQoABQgAAAATU3lzdGVtLkRyYXdpbmcuRm9udAQAAAAETmFtZQRT
aXplBVN0eWxlBFVuaXQBAAQECxhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUDAAAAG1N5c3RlbS5EcmF3
aW5nLkdyYXBoaWNzVW5pdAMAAAADAAAABgoAAAAM5b6u6L2v6ZuF6buRAAAgQQX1////GFN5c3RlbS5E
cmF3aW5nLkZvbnRTdHlsZQEAAAAHdmFsdWVfXwAIAwAAAAAAAAAF9P///xtTeXN0ZW0uRHJhd2luZy5H
cmFwaGljc1VuaXQBAAAAB3ZhbHVlX18ACAMAAAADAAAACw==
</value>
</data>
<data name="ucEllipseDialAisle2.Items9" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAENIWkhfQ29udHJvbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVy
ZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsDAMAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249
NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQEA
AAAqSFpIX0NvbnRyb2xzLkNvbnRyb2xzLkVsbGlwc2VEaWFsQWlzbGVJdGVtCQAAAAdiR0NvbG9yD3Nl
bGVjdGVkQkdDb2xvcglmb3JlQ29sb3IRc2VsZWN0ZWRGb3JlQ29sb3IEZm9udBQ8S2V5PmtfX0JhY2tp
bmdGaWVsZBU8VGV4dD5rX19CYWNraW5nRmllbGQbPERhdGFTb3VyY2U+a19fQmFja2luZ0ZpZWxkGTxT
ZWxlY3RlZD5rX19CYWNraW5nRmllbGQEBAQEBAEBAgAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAFFN5
c3RlbS5EcmF3aW5nLkNvbG9yAwAAABRTeXN0ZW0uRHJhd2luZy5Db2xvcgMAAAAUU3lzdGVtLkRyYXdp
bmcuQ29sb3IDAAAAE1N5c3RlbS5EcmF3aW5nLkZvbnQDAAAAAQIAAAAF/P///xRTeXN0ZW0uRHJhd2lu
Zy5Db2xvcgQAAAAEbmFtZQV2YWx1ZQprbm93bkNvbG9yBXN0YXRlAQAAAAkHBwMAAAAKO03//wAAAAAA
AAIAAfv////8////CrDJTv8AAAAAAAACAAH6/////P///woAAAAAAAAAAKQAAQAB+f////z///8KAAAA
AAAAAACkAAEACQgAAAAKBgkAAAACMTAKAAUIAAAAE1N5c3RlbS5EcmF3aW5nLkZvbnQEAAAABE5hbWUE
U2l6ZQVTdHlsZQRVbml0AQAEBAsYU3lzdGVtLkRyYXdpbmcuRm9udFN0eWxlAwAAABtTeXN0ZW0uRHJh
d2luZy5HcmFwaGljc1VuaXQDAAAAAwAAAAYKAAAADOW+rui9r+mbhem7kQAAIEEF9f///xhTeXN0ZW0u
RHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAMAAAAAAAAABfT///8bU3lzdGVtLkRyYXdpbmcu
R3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgDAAAAAwAAAAs=
</value>
</data>
<data name="ucEllipseDialAisle2.Items10" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAENIWkhfQ29udHJvbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVy
ZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsDAMAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249
NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQEA
AAAqSFpIX0NvbnRyb2xzLkNvbnRyb2xzLkVsbGlwc2VEaWFsQWlzbGVJdGVtCQAAAAdiR0NvbG9yD3Nl
bGVjdGVkQkdDb2xvcglmb3JlQ29sb3IRc2VsZWN0ZWRGb3JlQ29sb3IEZm9udBQ8S2V5PmtfX0JhY2tp
bmdGaWVsZBU8VGV4dD5rX19CYWNraW5nRmllbGQbPERhdGFTb3VyY2U+a19fQmFja2luZ0ZpZWxkGTxT
ZWxlY3RlZD5rX19CYWNraW5nRmllbGQEBAQEBAEBAgAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAFFN5
c3RlbS5EcmF3aW5nLkNvbG9yAwAAABRTeXN0ZW0uRHJhd2luZy5Db2xvcgMAAAAUU3lzdGVtLkRyYXdp
bmcuQ29sb3IDAAAAE1N5c3RlbS5EcmF3aW5nLkZvbnQDAAAAAQIAAAAF/P///xRTeXN0ZW0uRHJhd2lu
Zy5Db2xvcgQAAAAEbmFtZQV2YWx1ZQprbm93bkNvbG9yBXN0YXRlAQAAAAkHBwMAAAAKO03//wAAAAAA
AAIAAfv////8////CrDJTv8AAAAAAAACAAH6/////P///woAAAAAAAAAAKQAAQAB+f////z///8KAAAA
AAAAAACkAAEACQgAAAAKBgkAAAACMTEKAAUIAAAAE1N5c3RlbS5EcmF3aW5nLkZvbnQEAAAABE5hbWUE
U2l6ZQVTdHlsZQRVbml0AQAEBAsYU3lzdGVtLkRyYXdpbmcuRm9udFN0eWxlAwAAABtTeXN0ZW0uRHJh
d2luZy5HcmFwaGljc1VuaXQDAAAAAwAAAAYKAAAADOW+rui9r+mbhem7kQAAIEEF9f///xhTeXN0ZW0u
RHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAMAAAAAAAAABfT///8bU3lzdGVtLkRyYXdpbmcu
R3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgDAAAAAwAAAAs=
</value>
</data>
<data name="ucEllipseDialAisle2.Items11" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAENIWkhfQ29udHJvbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVy
ZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsDAMAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249
NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQEA
AAAqSFpIX0NvbnRyb2xzLkNvbnRyb2xzLkVsbGlwc2VEaWFsQWlzbGVJdGVtCQAAAAdiR0NvbG9yD3Nl
bGVjdGVkQkdDb2xvcglmb3JlQ29sb3IRc2VsZWN0ZWRGb3JlQ29sb3IEZm9udBQ8S2V5PmtfX0JhY2tp
bmdGaWVsZBU8VGV4dD5rX19CYWNraW5nRmllbGQbPERhdGFTb3VyY2U+a19fQmFja2luZ0ZpZWxkGTxT
ZWxlY3RlZD5rX19CYWNraW5nRmllbGQEBAQEBAEBAgAUU3lzdGVtLkRyYXdpbmcuQ29sb3IDAAAAFFN5
c3RlbS5EcmF3aW5nLkNvbG9yAwAAABRTeXN0ZW0uRHJhd2luZy5Db2xvcgMAAAAUU3lzdGVtLkRyYXdp
bmcuQ29sb3IDAAAAE1N5c3RlbS5EcmF3aW5nLkZvbnQDAAAAAQIAAAAF/P///xRTeXN0ZW0uRHJhd2lu
Zy5Db2xvcgQAAAAEbmFtZQV2YWx1ZQprbm93bkNvbG9yBXN0YXRlAQAAAAkHBwMAAAAKO03//wAAAAAA
AAIAAfv////8////CrDJTv8AAAAAAAACAAH6/////P///woAAAAAAAAAAKQAAQAB+f////z///8KAAAA
AAAAAACkAAEACQgAAAAKBgkAAAACMTIKAAUIAAAAE1N5c3RlbS5EcmF3aW5nLkZvbnQEAAAABE5hbWUE
U2l6ZQVTdHlsZQRVbml0AQAEBAsYU3lzdGVtLkRyYXdpbmcuRm9udFN0eWxlAwAAABtTeXN0ZW0uRHJh
d2luZy5HcmFwaGljc1VuaXQDAAAAAwAAAAYKAAAADOW+rui9r+mbhem7kQAAIEEF9f///xhTeXN0ZW0u
RHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAMAAAAAAAAABfT///8bU3lzdGVtLkRyYXdpbmcu
R3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgDAAAAAwAAAAs=
</value>
</data>
</root>
\ No newline at end of file
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!