通过对vs net2005和sharpdevelop面板的分析,总结得出以下内容:
1,每种面板每次只能打开一个工具窗口.
2,用户没有必要在运行时添加删除面板,具有即时访问的需求
3,面板一直是可见的,不能关闭,只能隐藏.这样可以节省弹出时间
4,面板不在工作台窗体中显示,布局管理器负责显示面板.
通过IPadContent.cs来定义面板接口,只定义了获取附着控件属性和重绘方法,代码如下:
1using System;
2using System.Windows.Forms;
3
4
5namespace MetaApplication
6{
7 /// <summary>
8 /// The IPadContent interface is the basic interface to all "tool" windows
9 /// in SharpDevelop.
10 /// </summary>
11 public interface IPadContent : IDisposable
12 {
13 /// <summary>
14 /// Returns the Windows.Control for this pad.
15 /// </summary>
16 Control Control
17 {
18 get;
19 }
20
21 /// <summary>
22 /// Re-initializes all components of the pad. Don't call unless
23 /// you know what you do.
24 /// </summary>
25 void RedrawContent();
26 }
27}
28
2using System.Windows.Forms;
3
4
5namespace MetaApplication
6{
7 /// <summary>
8 /// The IPadContent interface is the basic interface to all "tool" windows
9 /// in SharpDevelop.
10 /// </summary>
11 public interface IPadContent : IDisposable
12 {
13 /// <summary>
14 /// Returns the Windows.Control for this pad.
15 /// </summary>
16 Control Control
17 {
18 get;
19 }
20
21 /// <summary>
22 /// Re-initializes all components of the pad. Don't call unless
23 /// you know what you do.
24 /// </summary>
25 void RedrawContent();
26 }
27}
28