【文件属性】:
文件名称: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)