查找所有页面中的按钮

 protected void InitButtons()
        {
            string strSql = "";
            strSql = @"select MFormName  from MenuInfo where SeqNo=@SeqNo";
            DbCommand cmd12 = myGlobal.db.GetSqlStringCommand(strSql);
            myGlobal.db.AddInParameter(cmd12, "@SeqNo", DbType.Int32, 1);

            menuInfo = new List<MenuInfo>();
            try
            {
                using (IDataReader reader = myGlobal.db.ExecuteReader(cmd12))
                {
                    while (reader.Read())
                    {
                        menuInfo.Add(new MenuInfo()
                        {
                            MFormName = reader["MFormName"].ToString()
                        });
                    }
                }
            }
            catch
            {

            }


            if (menuInfo != null && menuInfo.Count > 0)
            {
                IList<ButtonInfo> buttList = new List<ButtonInfo>();

                foreach (MenuInfo m in menuInfo)
                {
                    BindingFlags flag = BindingFlags.Instance | BindingFlags.NonPublic;
                    Assembly asm = Assembly.Load("mytext");
                    Form frm = (Form)asm.CreateInstance(m.MFormName);
                    //frmMeA frm = new frmMeA();
                    FieldInfo[] fields = frm.GetType().GetFields(flag);


                    foreach (var fi in fields)
                    {
                        if (fi.FieldType == typeof(Button)
                       || fi.FieldType == typeof(SimpleButton))
                        {
                            Control c = fi.GetValue(frm) as Control;

                            ButtonInfo bModel = new ButtonInfo();
                            bModel.ButtonType = 1;
                            bModel.ButtonTitle = c.Name;
                            bModel.ButtonPop = c.Text;
                            buttList.Add(bModel);
                        }
                        if (fi.FieldType == typeof(BarButtonItem))
                        {
                            BarButtonItem c = fi.GetValue(frm) as BarButtonItem;
                            if (c != null)
                            {


                                ButtonInfo bModel = new ButtonInfo();
                                bModel.ButtonType = 1;
                                bModel.ButtonTitle = c.Name;
                                bModel.ButtonPop = c.Caption;
                                buttList.Add(bModel);
                            }
                        }

                        if (fi.FieldType == typeof(ToolStripMenuItem))
                        {
                            ToolStripMenuItem c = fi.GetValue(frm) as ToolStripMenuItem;
                            if (c != null)
                            {

                                ButtonInfo bModel = new ButtonInfo();
                                bModel.ButtonType = 1;
                                bModel.ButtonTitle = c.Name;
                                bModel.ButtonPop = c.Text;
                                buttList.Add(bModel);

                            }
                        }
                    }
                }
                var buttList1 = buttList;
            }
        }

  

转载于:https://www.cnblogs.com/qufly/p/3445183.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值