Create Database Table
(1) Menu
SR int Not Null
MENU varchar(50) Not Null
MENUPROMPT varchar(50) Null
-------------------------------------------------------------------------------------
(2)Menu Item
SR int Not Null
ITEM varchar(50) Not Null
ITEMPROMPT varchar(50) Not Null
MENU varchar(50) Not Null
FORM varchar(50) Null
ICONPATH varchar(50) Null *****************************************************************************
Write this code
****************************************************************************
private void frmMAIN_Load(object sender, EventArgs e)
{    try    {timer1.Start();
Flag = 0;
        frmBG ObjBg = new frmBG();ObjBg.MdiParent = ObjMainTemp;
ObjBg.Show();
        DataTable dt = ObjGn.FillData("SELECT * FROM MENU ORDER BY SR");for (int i = 0; i < objmenu =" new" forecolor =" Color.White;" dropmenu =" ObjGn.FillData(" menu="'" j =" 0;" objsubmenu =" new" name =" DropMenu.Rows[j][" image =" Image.FromFile(DropMenu.Rows[j]["> 2)
        {Flag = 0;
}
Flag++;
        if (Flag == 2)        {DataTable dt = ObjGn.FillData("SELECT * FROM MENUITEM WHERE ITEM='" + e.ClickedItem.Name + "'");
            CSharpCodeProvider c = new CSharpCodeProvider();ICodeCompiler icc = c.CreateCompiler();
            CompilerParameters cp = new CompilerParameters();            cp.ReferencedAssemblies.Add("system.dll");            cp.ReferencedAssemblies.Add("system.xml.dll");            cp.ReferencedAssemblies.Add("system.data.dll");            cp.ReferencedAssemblies.Add("system.windows.forms.dll");            cp.ReferencedAssemblies.Add("system.drawing.dll");            cp.ReferencedAssemblies.Add("WindowApplicationMenuTest.exe");            cp.CompilerOptions = "/t:library";            cp.GenerateInMemory = true;StringBuilder sb = new StringBuilder("");
            sb.Append("using System;\r\n");            sb.Append("using System.Xml;\r\n");            sb.Append("using System.Data;\r\n");            sb.Append("using System.Data.SqlClient;\r\n");            sb.Append("using System.Windows.Forms;\r\n");            sb.Append("using System.Drawing;\r\n");            sb.Append("using WindowApplicationMenuTest; \r\n");            sb.Append("namespace WindowApplicationMenuTest{ \r\n");            sb.Append("public class CSCodeEvaler{ \r\n");            sb.Append("public object EvalCode(){ \r\n");sb.Append(dt.Rows[0]["FORM"].ToString() + " ObjTemp = new " + dt.Rows[0]["FORM"].ToString() + "();");
            sb.Append("ObjTemp.MdiParent = frmMAIN.ObjMainTemp; \r\n");            sb.Append("ObjTemp.Show();\r\n");            sb.Append("ObjTemp.WindowState = FormWindowState.Maximized;\r\n");sb.Append("ObjTemp.Title.Text = \"" + dt.Rows[0]["ITEMPROMPT"].ToString() + "\";\r\n");
            sb.Append(" try{");sb.Append("ObjTemp.TempPic.Image = Image.FromFile(\"" + dt.Rows[0]["ICONPATH"].ToString() + "\");");
            sb.Append("return ObjTemp; \r\n}");            sb.Append("catch { return null; }");            sb.Append("} \r\n");            sb.Append("} \r\n");            sb.Append("} \r\n");CompilerResults cr = icc.CompileAssemblyFromSource(cp, sb.ToString());
            if (cr.Errors.Count > 0)            {MessageBox.Show("ERROR: " + cr.Errors[0].ErrorText, " Error evaluating cs code", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
System.Reflection.Assembly a = cr.CompiledAssembly;
object o = a.CreateInstance("WindowApplicationMenuTest.CSCodeEvaler");
Type t = o.GetType();
            MethodInfo mi = t.GetMethod("EvalCode");object s = mi.Invoke(o, null);
Flag = 0;
}
    }catch(Exception ex){}}
 
No comments:
Post a Comment