扩展模型示例:
下面的程序段扩展了一个容器
1
using System;
2
using System.Collections.Generic;
3
using System.Text;
4
using CMC.Controls.Base;
5
using System.Drawing;
6
using System.Drawing.Drawing2D;
7![](/Images/OutliningIndicators/None.gif)
8
//扩展的名字空间必须以"CMC.Libs."开头 否者不能正常识别
9
namespace CMC.Libs.Normal.Container
10
{
11
/// <summary>
12
/// 派生类必须以CMC.Controls.Base.Control或其派生类为基类 否者不能正常识别
13
/// </summary>
14
public class ExtendCMC : CMC.Controls.NormalContainerControl
15
{
16
private CMC.Controls.Shapes.Ellipse _Ellipse = new CMC.Controls.Shapes.Ellipse(100, 100);
17
public float Width
18
{
19
get { return _Ellipse.Width; }
20
set
21
{
22
if (_Ellipse.Width != value)
23
{
24
_Ellipse.Width = value;
25
NeedRebuild = true;
26
}
27
}
28
}
29
public float Height
30
{
31
get { return _Ellipse.Height; }
32
set
33
{
34
if (_Ellipse.Height != value)
35
{
36
_Ellipse.Height = value;
37
NeedRebuild = true;
38
}
39
}
40
}
41
protected override void InitGraphicsPath(ref CMC.Controls.Base.Chain<System.Drawing.Drawing2D.GraphicsPath> GraphicsPaths)
42
{
43
if (GraphicsPaths.IsEmpty)
44
{
45
GraphicsPaths.AddItem(new GraphicsPath());
46
}
47
GraphicsPaths.First.Value.AddPath(_Ellipse.GraphicsPath, false);
48
}
49
}
50
}
51
下面的代码将CMC控件添加到窗体中
dll+范例+帮助下载但
控件可以随便使用,也欢迎发信询问细节,但暂时不考虑提供源代码。
下面的程序段扩展了一个容器
1
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/None.gif)
8
![](/Images/OutliningIndicators/None.gif)
9
![](/Images/OutliningIndicators/None.gif)
10
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
11
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
12
![](/Images/OutliningIndicators/InBlock.gif)
13
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
14
![](/Images/OutliningIndicators/InBlock.gif)
15
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
16
![](/Images/OutliningIndicators/InBlock.gif)
17
![](/Images/OutliningIndicators/InBlock.gif)
18
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
19
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
20
![](/Images/OutliningIndicators/InBlock.gif)
21
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
22
![](/Images/OutliningIndicators/InBlock.gif)
23
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
24
![](/Images/OutliningIndicators/InBlock.gif)
25
![](/Images/OutliningIndicators/InBlock.gif)
26
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
27
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
28
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
29
![](/Images/OutliningIndicators/InBlock.gif)
30
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
31
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
32
![](/Images/OutliningIndicators/InBlock.gif)
33
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
34
![](/Images/OutliningIndicators/InBlock.gif)
35
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
36
![](/Images/OutliningIndicators/InBlock.gif)
37
![](/Images/OutliningIndicators/InBlock.gif)
38
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
39
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
40
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
41
![](/Images/OutliningIndicators/InBlock.gif)
42
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
43
![](/Images/OutliningIndicators/InBlock.gif)
44
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
45
![](/Images/OutliningIndicators/InBlock.gif)
46
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
47
![](/Images/OutliningIndicators/InBlock.gif)
48
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
49
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
50
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
51
![](/Images/OutliningIndicators/None.gif)
1
using System;
2
using System.Collections.Generic;
3
using System.ComponentModel;
4
using System.Data;
5
using System.Drawing;
6
using System.Text;
7
using System.Windows.Forms;
8![](/Images/OutliningIndicators/None.gif)
9
namespace ExtendCMC
10
{
11
public partial class Form1 : Form
12
{
13
public Form1()
14
{
15
InitializeComponent();
16
this.Width = 800;
17
this.Height = 600;
18![](/Images/OutliningIndicators/InBlock.gif)
19
CMC.CMCControl cc = new CMC.CMCControl();
20
cc.Dock = DockStyle.Fill;
21
this.Controls.Add(cc);
22
CMC.Chart c = cc.Chart;
23
CMC.Libs.Normal.Container.ExtendCMC ec = new CMC.Libs.Normal.Container.ExtendCMC();
24
c.AddControl(ec);
25
ec.MoveBy(100, 100);
26
}
27
}
28
}
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/None.gif)
8
![](/Images/OutliningIndicators/None.gif)
9
![](/Images/OutliningIndicators/None.gif)
10
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
11
![](/Images/OutliningIndicators/InBlock.gif)
12
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
13
![](/Images/OutliningIndicators/InBlock.gif)
14
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
15
![](/Images/OutliningIndicators/InBlock.gif)
16
![](/Images/OutliningIndicators/InBlock.gif)
17
![](/Images/OutliningIndicators/InBlock.gif)
18
![](/Images/OutliningIndicators/InBlock.gif)
19
![](/Images/OutliningIndicators/InBlock.gif)
20
![](/Images/OutliningIndicators/InBlock.gif)
21
![](/Images/OutliningIndicators/InBlock.gif)
22
![](/Images/OutliningIndicators/InBlock.gif)
23
![](/Images/OutliningIndicators/InBlock.gif)
24
![](/Images/OutliningIndicators/InBlock.gif)
25
![](/Images/OutliningIndicators/InBlock.gif)
26
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
27
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
28
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
dll+范例+帮助下载但
控件可以随便使用,也欢迎发信询问细节,但暂时不考虑提供源代码。