a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 106|回复: 0

[其他] 微软技巧:如何利用反射动态调用winform窗体的方法

[复制链接]
发表于 2012-8-3 00:11:48 | 显示全部楼层 |阅读模式
C#利用反射动态调用winform窗体的方法     在WinForm程序中,通过主窗体的Menu打开不同的窗体% N3 ?" t! Y: |
    以往做法:在Menu的Click事件中,创建打开窗体的对象实例
" e& d* L1 c# o3 l" {    这样的缺点,我不说了:)
1 i) M0 z6 c% C! c: ~- O    看看利用反射动态调用窗体对象的方法:
" ?7 f& ?( `% \5 k    private void CreateForm(string strName)
. `) G' H1 }6 S    {" q* P! `  b2 l( b8 |& ?$ I
    this.Cursor = Cursors.WaitCursor;
1 J/ |; b) D, c$ C    string path=AssemblyName;//项目的Assembly选项名称# ^% P6 \. }+ q% V4 T
    string name=strName; //类的名字  N" ^( n( U5 i* ^7 T
    Form fm=(Form)Assembly.Load(path)。CreateInstance(name);
. r7 Z$ {/ z6 y3 h5 T' O    fm.MdiParent=this.ParentForm;! g4 Q( ~; B& _# B* Z
    fm.Show();
7 ?4 A  [$ h) K- p" b- B    fm.Dock=DockStyle.Fill;
* O$ J+ d+ P( z+ i' ?    this.Cursor = Cursors.Default;
: A. W! u/ t, M0 N7 T: D    }
, Q! ~! j- S5 p. O' {3 i: j' F9 M    相信这样做不同的好处大家能体会到。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-19 03:51 , Processed in 0.507095 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表