前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在类库中使用MessageBox

在类库中使用MessageBox

作者头像
DannyHoo
发布2018-09-13 11:29:33
1.1K0
发布2018-09-13 11:29:33
举报
文章被收录于专栏:Danny的专栏

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://cloud.tencent.com/developer/article/1336887

错误:

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

        查看帮助,MSDN给出的解释是:语句引用某个编程元素,但编译器无法找到具有该确切名称的元素(http://msdn.microsoft.com/query/dev12.query?appId=Dev12IDEF1&l=ZH-CN&k=k(vbc30451%29;k(TargetFrameworkMoniker-.NETFramework,Version%3Dv3.0%29;k(DevLang-VB%29&rd=true)。

判断:

        编译器无法识别,但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,但这两者有何区别呢?那么就请大家去问度娘吧。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2014年07月19日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档