extern alias G1; extern alias G2; using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Reflection; using Toolbar1 = G1::Infragistics.Win.UltraWinToolbars; using Toolbar2 = G2::Infragistics.Win.UltraWinToolbars; namespace Core.Mes.ClientFrameWork { /// /// Core Mes 平台所有业务子窗体的基类 /// public class FrmBase : System.Windows.Forms.Form { #region " RemotingGate " public string Key = ""; public bool On_Off_Thread = false; public Form _ParentForm; #endregion private System.ComponentModel.IContainer components = null; public FrmBase() { // // Windows 窗体设计器支持所必需的 // InitializeComponent(); // // TODO: 在 InitializeComponent 调用后添加任何构造函数代码 // } /// /// 清理所有正在使用的资源。 /// protected override void Dispose(bool disposing) { if (disposing) { if (components != null) { components.Dispose(); } } base.Dispose(disposing); } #region Windows 窗体设计器生成的代码 /// /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// private void InitializeComponent() { this.SuspendLayout(); // // FrmBase // this.AutoScaleBaseSize = new System.Drawing.Size(6, 14); this.ClientSize = new System.Drawing.Size(1012, 733); this.Name = "FrmBase"; this.Text = "FrmBase"; this.WindowState = System.Windows.Forms.FormWindowState.Maximized; this.Load += new System.EventHandler(this.FrmBase_Load); this.ResumeLayout(false); } #endregion private void FrmBase_Load(object sender, EventArgs e) { AddToolBarListener(); } private void AddToolBarListener() { //获取所有控件 System.Reflection.FieldInfo[] fieldInfo = this.GetType().GetFields(System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance); for (int i = 0; i < fieldInfo.Length; i++) { try { if (fieldInfo[i].FieldType == typeof(Toolbar1.UltraToolbarsManager)) { Toolbar1.UltraToolbarsManager ut1 = fieldInfo[i].GetValue(this) as Toolbar1.UltraToolbarsManager; ut1.ToolClick += new Toolbar1.ToolClickEventHandler(_ToolbarClick_Listener1); //EventInfo ei = fieldInfo[i].FieldType.GetEvent("ToolClick"); //MethodInfo mi = this.GetType().GetMethod("_ToolbarClick_Listener", BindingFlags.Instance); //Delegate dg = Delegate.CreateDelegate(ei.EventHandlerType, fieldInfo[i].GetValue(this), mi); //ei.AddEventHandler(fieldInfo[i].GetValue(this), dg); } else if (fieldInfo[i].FieldType == typeof(Toolbar2.UltraToolbarsManager)) { Toolbar2.UltraToolbarsManager ut2 = fieldInfo[i].GetValue(this) as Toolbar2.UltraToolbarsManager; ut2.ToolClick += new Toolbar2.ToolClickEventHandler(_ToolbarClick_Listener2); } else if (fieldInfo[i].FieldType == typeof(ToolStrip)) { ToolStrip t1 = fieldInfo[i].GetValue(this) as ToolStrip; t1.ItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this._toolStrip_ItemClicked); } } catch { } } } public void _ToolbarClick_Listener1(object sender, Toolbar1.ToolClickEventArgs e) { ClientCommon.RecordUserEvent("点击", "按钮[ToolBar]", e.Tool.CaptionResolved, this.Text, this.ProductName, ""); } public void _ToolbarClick_Listener2(object sender, Toolbar2.ToolClickEventArgs e) { ClientCommon.RecordUserEvent("点击", "按钮[ToolBar]", e.Tool.CaptionResolved, this.Text, this.ProductName, ""); } private void _toolStrip_ItemClicked(object sender, ToolStripItemClickedEventArgs e) { ClientCommon.RecordUserEvent("点击", "按钮[ToolBar]", e.ClickedItem.Text, this.Text, this.ProductName, ""); } } }