接上文。此文主要是关于如何应用的问题
大致问题都差不多,那么我们可以来看一下,界面FrmAddBase及其子类(不同数据收集窗体)是如何工作的。
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using JadeSoft.Common;
using System.Reflection;
namespace JadeSoft.Logistics.SystemInfo.UI
{
/// <summary>
/// FrmDeptAdd 的摘要说明。
/// </summary>
public class FrmAddBase : System.Windows.Forms.Form
{
/// <summary>
/// 当用户点击工具栏成功处理为基类里的方法后,需要通知子类执行的事件
/// </summary>
public event AfterToolClick OnAfterToolClick;
internal Infragistics.Win.UltraWinToolbars.UltraToolbarsManager ultraToolbarsManager1;
private Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea _FrmDeptAdd_Toolbars_Dock_Area_Left;
private Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea _FrmDeptAdd_Toolbars_Dock_Area_Right;
private Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea _FrmDeptAdd_Toolbars_Dock_Area_Top;
private Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea _FrmDeptAdd_Toolbars_Dock_Area_Bottom;
private System.Windows.Forms.ImageList toolImgs;
internal Infragistics.Win.UltraWinStatusBar.UltraStatusBar ultraStatusBar1;
internal System.Windows.Forms.ErrorProvider errProvider;
private System.ComponentModel.IContainer components;
protected Type _EntityType;//要控件的实体类型描述
protected IEntity _Entity; //实体对象
protected EntityController _EntityController; //实体控制器
public FrmAddBase()
{
InitializeComponent();
}
/// <summary>
/// 更新一个对象时使用的构造器
/// </summary>
/// <param name="commonEntity"></param>
public FrmAddBase(IEntity commonEntity):this()
{
_Entity=commonEntity;
_EntityType=commonEntity.GetType();
}
/// <summary>
/// 新建一个对象时使用的构造器
/// </summary>
/// <param name="EntityType"></param>
public FrmAddBase(Type EntityType):this()
{
_EntityType=EntityType;
}
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if(components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows 窗体设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
Infragistics.Win.UltraWinToolbars.UltraToolbar ultraToolbar1 = new Infragistics.Win.UltraWinToolbars.UltraToolbar("MainMenu");
Infragistics.Win.UltraWinToolbars.PopupMenuTool popupMenuTool1 = new Infragistics.Win.UltraWinToolbars.PopupMenuTool("mnuFile");
Infragistics.Win.UltraWinToolbars.UltraToolbar ultraToolbar2 = new Infragistics.Win.UltraWinToolbars.UltraToolbar("MainTool");
Infragistics.Win.UltraWinToolbars.ButtonTool buttonTool1 = new Infragistics.Win.UltraWinToolbars.ButtonTool("tblNew");
Infragistics.Win.UltraWinToolbars.ButtonTool buttonTool2 = new Infragistics.Win.UltraWinToolbars.ButtonTool("tblSave");
Infragistics.Win.UltraWinToolbars.ButtonTool buttonTool3 = new Infragistics.Win.UltraWinToolbars.ButtonTool("tlbExit");
Infragistics.Win.UltraWinToolbars.ButtonTool buttonTool4 = new Infragistics.Win.UltraWinToolbars.ButtonTool("tblNew");
Infragistics.Win.Appearance appearance1 = new Infragistics.Win.Appearance();
Infragistics.Win.UltraWinToolbars.ButtonTool buttonTool5 = new Infragistics.Win.UltraWinToolbars.ButtonTool("tlbExit");
Infragistics.Win.Appearance appearance2 = new Infragistics.Win.Appearance();
Infragistics.Win.UltraWinToolbars.PopupMenuTool popupMenuTool2 = new Infragistics.Win.UltraWinToolbars.PopupMenuTool("mnuFile");
Infragistics.Win.UltraWinToolbars.ButtonTool buttonTool6 = new Infragistics.Win.UltraWinToolbars.ButtonTool("tblNew");
Infragistics.Win.UltraWinToolbars.ButtonTool buttonTool7 = new Infragistics.Win.UltraWinToolbars.ButtonTool("tblSave");
Infragistics.Win.UltraWinToolbars.ButtonTool buttonTool8 = new Infragistics.Win.UltraWinToolbars.ButtonTool("tlbExit");
Infragistics.Win.UltraWinToolbars.ButtonTool buttonTool9 = new Infragistics.Win.UltraWinToolbars.ButtonTool("tblSave");
Infragistics.Win.Appearance appearance3 = new Infragistics.Win.Appearance();
System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(FrmAddBase));
Infragistics.Win.UltraWinStatusBar.UltraStatusPanel ultraStatusPanel1 = new Infragistics.Win.UltraWinStatusBar.UltraStatusPanel();
Infragistics.Win.UltraWinStatusBar.UltraStatusPanel ultraStatusPanel2 = new Infragistics.Win.UltraWinStatusBar.UltraStatusPanel();
Infragistics.Win.UltraWinStatusBar.UltraStatusPanel ultraStatusPanel3 = new Infragistics.Win.UltraWinStatusBar.UltraStatusPanel();
this.ultraToolbarsManager1 = new Infragistics.Win.UltraWinToolbars.UltraToolbarsManager(this.components);
this.toolImgs = new System.Windows.Forms.ImageList(this.components);
this._FrmDeptAdd_Toolbars_Dock_Area_Left = new Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea();
this._FrmDeptAdd_Toolbars_Dock_Area_Right = new Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea();
this._FrmDeptAdd_Toolbars_Dock_Area_Top = new Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea();
this._FrmDeptAdd_Toolbars_Dock_Area_Bottom = new Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea();
this.ultraStatusBar1 = new Infragistics.Win.UltraWinStatusBar.UltraStatusBar();
this.errProvider = new System.Windows.Forms.ErrorProvider();
((System.ComponentModel.ISupportInitialize)(this.ultraToolbarsManager1)).BeginInit();
this.SuspendLayout();
//
// ultraToolbarsManager1
//
this.ultraToolbarsManager1.DesignerFlags = 0;
this.ultraToolbarsManager1.DockWithinContainer = this;
this.ultraToolbarsManager1.ImageListSmall = this.toolImgs;
this.ultraToolbarsManager1.ShowFullMenusDelay = 500;
this.ultraToolbarsManager1.Style = Infragistics.Win.UltraWinToolbars.ToolbarStyle.VisualStudio2005;
ultraToolbar1.DockedColumn = 0;
ultraToolbar1.DockedRow = 0;
ultraToolbar1.IsMainMenuBar = true;
ultraToolbar1.Text = "MainMenu";
ultraToolbar1.Tools.AddRange(new Infragistics.Win.UltraWinToolbars.ToolBase[] {
popupMenuTool1});
ultraToolbar2.DockedColumn = 0;
ultraToolbar2.DockedRow = 1;
ultraToolbar2.Settings.AllowCustomize = Infragistics.Win.DefaultableBoolean.False;
ultraToolbar2.Settings.FillEntireRow = Infragistics.Win.DefaultableBoolean.True;
ultraToolbar2.Text = "MainTool";
buttonTool3.InstanceProps.IsFirstInGroup = true;
ultraToolbar2.Tools.AddRange(new Infragistics.Win.UltraWinToolbars.ToolBase[] {
buttonTool1,