在类库中使用MessageBox

          错误:

        机房收费系统(VB.Net版)过程中,在D层的SqlHelper类中有一个异常捕获处理,捕获了异常之后想使用MessageBox.Show()弹出异常描述,但在编译时出现了“未声明“MessageBox”。它可能因其保护级别而不可访问。”的错误:

       

        查看帮助,MSDN给出的解释是:语句引用某个编程元素,但编译器无法找到具有该确切名称的元素

        判断:

        编译器无法识别,但MessageBox在窗体应用程序中可以使用,而且MessageBox.Show()为.Net中公用的库函数,所以原因可能是窗体应用程序的项目隐含引用了函数库中的某个包含MessageBox.Show()的程序集,而类库项目没有引用这个程序集。

       

        解决:

        根据判断看了一下UI层的引用,果然比D层多了好多引用,经过尝试,得到结论:如果在D层(只是类库类型的项目的代表)使用MessageBox()方法,需要引用命名空间System.Windows.Forms。具体操作为(我用的是VIsualStudio2013,其他版本应该没有太大差异):

        1、右键要引用System.Windows.Forms的项目→添加→引用

         

         2、选择程序集下的“框架”,在System.Windows.Forms前打上勾,确定

         

        3、在类的文件头引用System.Windows.Forms:

         Imports System.Windows.Forms

         Tips:其实大家都知道,也可以直接使用Msgbox,但这两者有何区别呢?那么就请大家去问度娘吧。

评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值