C#反射、方法调用、自动调用方法、根据按钮名称调用方法、C#按钮权限管理

根据按钮名称,直接调用方法,适用于用户对按钮的操作权限管理。

        /// <summary>
        /// 菜单按钮点击事件
        /// </summary>
        void usrMenu1_UserControlMenuItemClick(object sender, EventArgs e)
        {
            #region MyRegion
            ////BtnGetParam    获取参数
            //if (Nbi.Name == "BtnGetParam")
            //{
            //    BtnGetParam_Click(sender, e);
            //}
            ////BtnDelete    删 除
            //if (Nbi.Name == "BtnDelete")
            //{
            //    BtnDelete_Click(sender, e);
            //}
            ////BtnSaveForm    保 存
            //if (Nbi.Name == "BtnSaveForm")
            //{
            //    BtnSaveForm_Click(sender, e);
            //}
            ////BtnSaveForm    刷新
            //if (Nbi.Name == "Btnrefresh")
            //{
            //    Btnrefresh_Click(sender, e);
            //}
            //if (Nbi.Name == "BtnUpdSysID")
            //{
            //    BtnUpdSysID_Click(sender, e);
            //}
            #endregion
            //className是方法所在的类
            try
            {
                ToolStripMenuItem Nbi = (ToolStripMenuItem)sender;//获取按钮对象
                MethodInfo mm = this.GetType().GetMethod(Nbi.Name + "_Click");//调用按钮的事件
                //obj是方法的返回值,Invoke的第二个参数是执行方法所要的参数,是个数组
                object obj = mm.Invoke(this, new object[2] { sender, e });
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString());
            }
        }

时间: 2024-10-27 08:26:32

C#反射、方法调用、自动调用方法、根据按钮名称调用方法、C#按钮权限管理的相关文章

Echsop在前台公告里调用后台添加的QQ和旺旺的方法。

求在前台公告或添加一个广告位,调用后台添加的QQ和旺旺的方法. 我在page_footer.lbi里找到了代码--=================================<!-- QQ 号码 {foreach from=$qq item=im} -->      <!-- {if $im} -->      <a href="http://wpa.qq.com/msgrd?V=1&Uin={$im}&Site={$shop_name}&am

boost在lambda表达式中调用占位符参数的成员函数的方法

boost中提供了lambda表达式的用法,但是lambda表达式的功能还不是很强大,在其中只能对lambda的占位符参数_1等使用最基本的操作符,如+-*/,可是很多时候如果传入的占位符参数是一个对象指针的话,我们可能想要调用这个类的成员函数. 我在开发中遇到了这个问题,需要在stl的算法中传入一个函数来调用对象的比较函数,因为感觉这样太麻烦,还需要重新定义一个函数,所以想起了lambda表达式,c++11的lambda表达式我倒是没试过,可是受项目开发环境所限,只能选择boost.但是我用的

一、单页应用如何调用微信接口和手机端的一些方法?

因为angular 是单页应用,所以在调用一些手机端可微信接口的地方会很麻烦,这里总结一下在手机端调用分享和调用微信接口的时候出现的问题及解决的办法: 出现问题: 手机端的方法如果有回调,H5需要调用手机端某个方法的回调时,不管在哪个页面需要回调该方法都无法回调成功 如果做有关微信公众平台接口,在任何页面也是无法调用该接口 解决办法: 出现这种问题的原因是由于angular是单页应用引起的 解决方案:目前只想到一种解决办法就是:在index.html页面申明一个全局变量,然后将手机端或者微信接口

java 虚方法。 后面new 那个类, 就调用哪个类的方法 ,而非定义类的方案。 关于父子 类的 呵呵

java   虚方法.     后面new  那个类, 就调用哪个类的方法 ,而非定义类的方案.  关于父子 类的   呵呵 在多态的情况下,声明为父类类型的引用变量只能调用父类中的方法,但如果此变量实际引用的是子类对象,而子类对象中覆盖了父类的方法,这时父类对象调用的是子类中的方法,这种机制就成为虚方法调用.所以,同样的两个引用变量调用相同的方法结果可能不同.

Oracle数据库中调用Java类开发存储过程、函数的方法

Oracle数据库中调用Java类开发存储过程.函数的方法 时间:2014年12月24日  浏览:5538次 oracle数据库的开发非常灵活,不仅支持最基本的SQL,而且还提供了独有的PL/SQL,除此之外,还可以用时下最流行的编程语言Java来做开发.随着对oracle的了解越来越多,越来越禁不住oracle的诱惑,oracle技术真的是一门很有趣的学问.之前,我在博客中总结了挺多有关SQL.PL/SQL的,但是对于oracle数据库中Java类的调用却没有总结,也是因为之前不太会,这会儿总

织梦调用指定顶级栏目或当前子栏目名称的方法

有时候我们会在列表页或者内容详情页调用指定的顶级栏目名称及链接,试了很多方法,有的只能调用所有顶级栏目或者是该频道下面的子栏目,实在是让人感到费解..下面说说各种栏目名称的调用方法:  1.{dede:field name="typename"} 这是调用当前栏目的名称 2.{dede:channel type='son' row='5'} <a href="[field:typeurl/]">[field:typename/]</a> {/

JavaScript函数之实际参数对象(arguments) / callee属性 / caller属性 / 递归调用 / 获取函数名称的方法

函数的作用域:调用对象 JavaScript中函数的主体是在局部作用域中执行的,该作用域不同于全局作用域.这个新的作用域是通过将调用对象添加到作用域链的头部而创建的(没怎么理解这句话,有理解的亲可以留言告诉我, 谢谢).因为调用对象是作用域链的一部分,所以在函数体内可以把这个对象属性作为变量来访问. 调用对象的属性包括:用var声明的局部变量,函数形参,还有一种特殊的属性arguments 函数的实际参数:实际参数对象 arguments对象,用来引用实际参数对象.函数的arguments对象并

多态 这是动态语言和静态语言(例如Java)最大的差别之一。动态语言调用实例方法,不检查类型,只要方法存在,参数正确,就可以调用。

多态 类具有继承关系,并且子类类型可以向上转型看做父类类型,如果我们从 Person 派生出 Student和Teacher ,并都写了一个 whoAmI() 方法: class Person(object): def __init__(self, name, gender): self.name = name self.gender = gender def whoAmI(self): return 'I am a Person, my name is %s' % self.name clas

go语言使用go-sciter创建桌面应用(三) 事件处理,函数与方法定义,go与tiscript之间相互调用

sciter处理脚本tiscript,用于处理UI交互中的一些逻辑,跟js很像,但又有点区别,对前端熟悉的人应该能很快上手. tiscrip脚本文档 https://sciter.com/developers/sciter-docs/script/ dom类文档 https://sciter.com/developers/sciter-docs/dom-classes/ demo4.go代码如下: package main; import ( "github.com/sciter-sdk/go-