Framework的设计与应用--基于Windows Forms的应用开发实践
2008-04-09 23:00
525 查看
Framework的设计与应用--基于Windows Forms的应用开发实践 / <2006/12 答客问> 1. 此区为读者来信询问的问题及我的回答。2. 读者姓名皆不公开,信件内容截取问题本身,无涉任何隐私。3. 如果您于此看到您的问题,内容若有所不当之处,请与我联络。 问:在.NET中,运行时使用Assembly.LoadFile引用某个目录中的库文件,但当该库文件引用了另一个B 库文件时,B 库文件仅能放在于三个位置:应用程序当前所在目录、System目录,全局程序集缓存(GAC),要如何让B库文件与其引用的库文件在同一个位置,而不限于上述的三个位置?答: 可以挂载事件至AppDomain的AssemblyResolve事件,协助CLR来找到对应的Assembly。 问:需要在IE中嵌入WinForm控件,使用C#编写的WinForm控件可以在IE中正常显示并运行,但是使用C++/CLI编写的WinForm控件无论如何都无法显示?答: 问题来自于.NET的安全权限设定, 这里有个方案可以试试. 1、打开Microsoft .NET Framework 2.0 Configuration控制面板程序 2、运行库安全策略 3、计算机 4、代码组 5、右键All_code-新建-数据新建代码组名称-下一步--代码组权限类型选择“URL”--下面的URL中输入URL地址,例如:http://192.168.0.1/* 6、使用现有权限集选择”FullTrust"---确定。 7、重新启动Web Server Services 问:为何C++/CLI编写的winForm控件需要设置.NET Framework权限才能被显示而C#就不需要?答: 原因在于C++/CLI 的Complier目前尚无法如C#,VB.NET产生出完整的Managed Code,, 这是C++/CLI的设计层次问题。 问: 第八章讲解的PLUG-IN技术实现的代码为何FORM窗体只能运行一次,而当关闭后再次打开就会报错?答: Form被关闭时会呼叫Form.Close函数,而此函数会释放所有关于该Form的资源, 简单的说,一旦呼叫Form.Close后,我们就不应该再存取该Form了! 如果有Close后还需要使用该Form的需求,可以撰写Form.Closing事件,设定CancelEventArgs.Cancel为True,然后呼叫Form.Hide函数来使该Form变为不可视。 PS:提醒您,Orphean WinForm Helper的Form Plug-In是设计成以Form.Close后就释放相关资源。 问:书中所提及的Enter As Tab功能,如果Enter键是在按钮上(Button),它也自动跳到下一个按钮上,怎么实现在按钮上按回车键时,其能够执行按钮动作呢?答: protected override bool ProcessDialogKey(Keys keyData) { //ActiveControl 属性是目前所在的控件,我们可以判断其型别来决定是否做Focus Change. if ((ActiveControl is TextBoxBase) || (ActiveControl is DateTimePicker) || (ActiveControl is ListControl)) { if (keyData == Keys.Return) return base.ProcessDialogKey(Keys.Tab); } else if (ActiveControl is Button) //当ActiveControl是Button时. { if (keyData == Keys.Return) { ((Button)ActiveControl).PerformClick(); //执行Click事件 return true; } } return base.ProcessDialogKey(keyData); } 视需求而定,您可针对ActiveControl的型别来判断是否做出Focus Change的动作。 问: 书中第488页中声明了IDataModalRefreshService接口,为何只有Customers与Products两上是声明到了DATATABLE级,而其它的全部声明到DataSet级?答: 这两个函数只需要用到DataTable,而其它因为拥有Relation,所以必须以DataSet层级来传.传DataTable的流量比DataSet来的小,可是无法传递Relation.。
相关文章推荐
- Framework的设计与应用--基于Windows Forms的应用开发实践
- Framework的设计与应用--基于Windows Forms的应用开发实践
- Framework的设计与应用--基于Windows Forms的应用开发实践
- Framework的设计与应用--基于Windows Forms的应用开发实践
- Framework的设计与应用--基于Windows Forms的应用开发实践
- Framework的设计与应用--基于Windows Forms的应用开发实践
- Framework的设计与应用--基于Windows Forms的应用开发实践
- Framework的设计与应用--基于Windows Forms的应用开发实践
- Framework的设计与应用--基于Windows Forms的应用开发实践
- Framework的设计与应用--基于Windows Forms的应用开发实践
- Framework的设计与应用--基于Windows Forms的应用开发实践
- Framework的设计与应用--基于Windows Forms的应用开发实践
- Framework的设计与应用--基于Windows Forms的应用开发实践
- Framework的设计与应用--基于Windows Forms的应用开发实践
- Framework的设计与应用--基于Windows Forms的应用开发实践
- Framework的设计与应用--基于Windows Forms的应用开发实践
- Framework的设计与应用--基于Windows Forms的应用开发实践
- Framework的设计与应用--基于Windows Forms的应用开发实践
- Framework的设计与应用--基于Windows Forms的应用开发实践
- Framework的设计与应用--基于Windows Forms的应用开发实践