C#.net WCF结构(全Dll封装)

时间:2014-05-11 15:47:13
【文件属性】:

文件名称:C#.net WCF结构(全Dll封装)

文件大小:196KB

文件格式:RAR

更新时间:2014-05-11 15:47:13

System.Reflection.Assembly.LoadFile(DllPath);

#region 呼叫功能窗體 ///

/// 判断MdiParent中是否含有该子窗体 /// /// 子窗体名称 /// bool private Boolean uChildFormOpened(string ChildFormName) { foreach (Form form in this.MdiChildren) { if (string.Compare(form.Name, ChildFormName, true) == 0) { form.BringToFront(); return true; } } return false; } /// /// 呼叫功能窗體 (子窗體為MDI Child類型) /// /// 公用參數 /// 功能所在Dll名稱 /// 功能窗體類名稱空間 /// 功能窗體類名稱 private void uCallFunctionForm(ComPara comPara, string DllName, string formClassNameSpace, string formClassName) { string DllPath = Application.StartupPath + "\\" + DllName; string typeName = formClassNameSpace + "." + formClassName; string childFormName = formClassName + "_MainFromCall"; //生成的窗體統一加_MainFromCall後綴 //防止MDIChild重復生成 if (uChildFormOpened(childFormName)) { return; } //判斷Dll是否存在 if (!File.Exists(DllPath)) { MessageBox.Show(DllPath + "不存在,請檢查!"); return; } //反射調用MDI Child窗體 try { ReflectionHelper.LoadMdiForm(DllPath, typeName, this, childFormName, comPara); } catch (Exception ex) { throw ex; } } #endregion private void CascadeToolStripMenuItem_Click(object sender, EventArgs e) { LayoutMdi(MdiLayout.Cascade); } private void TileVerticalToolStripMenuItem_Click(object sender, EventArgs e) { LayoutMdi(MdiLayout.TileVertical); } private void TileHorizontalToolStripMenuItem_Click(object sender, EventArgs e) { LayoutMdi(MdiLayout.TileHorizontal); } private void ArrangeIconsToolStripMenuItem_Click(object sender, EventArgs e) { LayoutMdi(MdiLayout.ArrangeIcons); } private void CloseAllToolStripMenuItem_Click(object sender, EventArgs e) { foreach (Form childForm in MdiChildren) { childForm.Close(); } } private void tsmiUser_Click(object sender, EventArgs e) { string menuName = "User"; string DllName = "User.dll"; string formClassNameSpace = "User"; string formClassName = "UserForm"; //需克隆或新建一個參數物件傳到子窗體 ComPara comPara; comPara = (ComPara)CloneHelper.CloneObjectWithILShallow(uComPara); //給公用參數賦值,此處主要對子功能的客制化參數賦值 comPara.menuName = menuName;//功能名稱 comPara.canView = "Y"; comPara.canQuery = "Y"; comPara.canAdd = "Y"; comPara.canCopy = "Y"; comPara.canEdit = "Y"; comPara.canDelete = "Y"; comPara.canConfirm = "Y"; comPara.canCancelConfirm = "Y"; comPara.canAbolish = "Y"; comPara.canCheck = "Y"; comPara.canViewCost = "Y"; comPara.canPrint = "Y"; comPara.canExport = "Y"; uCallFunctionForm(comPara, DllName, formClassNameSpace, formClassName); } private void tsmiEnglish_Click(object sender, EventArgs e) { if (uComPara.languageID.ToLower() != "en-us") { uComPara.languageID = "en-us"; System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(uComPara.languageID); //菜單語言切換 System.Resources.ResourceManager rm = new System.Resources.ResourceManager(typeof(FunctionCallMain)); this.Text = rm.GetString("rsFormCaption") + "-->" + rm.GetString("rsLanguage"); } } private void tsmiTraditionalChinese_Click(object sender, EventArgs e) { if (uComPara.languageID.ToLower() != "zh-tw") { uComPara.languageID = "zh-tw"; System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(uComPara.languageID); //菜單語言切換 System.Resources.ResourceManager rm = new System.Resources.ResourceManager(typeof(FunctionCallMain)); this.Text = rm.GetString("rsFormCaption") + "-->" + rm.GetString("rsLanguage"); } } private void tsmiSimplifiedChinese_Click(object sender, EventArgs e) { if (uComPara.languageID.ToLower() != "zh-cn") { uComPara.languageID = "zh-cn"; System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(uComPara.languageID); //菜單語言切換 System.Resources.ResourceManager rm = new System.Resources.ResourceManager(typeof(FunctionCallMain)); this.Text = rm.GetString("rsFormCaption") + "-->" + rm.GetString("rsLanguage"); } } private void menuStrip_ItemClicked(object sender, ToolStripItemClickedEventArgs e) { } } }


【文件预览】:
CallCaseMain
----FunctionCallMain.zh-TW.Designer.cs(0B)
----FunctionCallMain.en-US.resx(6KB)
----CallCaseMain.csproj(6KB)
----bin()
--------Debug()
----FunctionCallMain.zh-CN.Designer.cs(0B)
----obj()
--------Debug()
----Properties()
--------Resources.Designer.cs(3KB)
--------Settings.settings(249B)
--------Resources.resx(5KB)
--------Settings.Designer.cs(1KB)
--------新建 文本文档.txt(0B)
--------AssemblyInfo.cs(1KB)
----Program.cs(515B)
----FunctionCallMain.resx(9KB)
----FunctionCallMain.cs(7KB)
----FunctionCallMain.en-US.Designer.cs(0B)
----新建 文本文档.txt(0B)
----FunctionCallMain.zh-CN.resx(6KB)
----app.config(2KB)
----FunctionCallMain.zh-TW.resx(6KB)
----CallCaseMain.suo(4KB)
----FunctionCallMain.Designer.cs(16KB)

网友评论

  • 代码不完整
  • 学习了亲,可是我还是不会= =...没教程啊
  • 对我用户不大 我需要的是 将wcf服务封装到dll中 由客户端引用就可以了 不用引用服务