我正在编写一个 dll 库(例如用于检查用户的登录详细信息)并且我想在此过程中弹出一个确认对话框或一个信息对话框,例如
“您确定要继续吗?(是/否/取消)”
出于某种原因。目前我需要这个用于 Winforms 中的应用程序,我也想为我的其他 webforms 应用程序使用相同的 dll。谁能指导如何实现它?不用说,我不想引用 System.Windows.Forms
或 System.Web
。任何人都可以给我一些指示吗?我正在使用 .net 4.0
我不想发布/订阅事件,因为我对 cab 架构不是很熟悉。
编辑
我有一个用于在应用程序运行时创建数据库的 dll。所以我的 dll 通常会检查数据库是否已经存在并且是否是最新的,如果是则停止。但如果它不存在或不是最新的,那么我想问用户他是想现在还是以后更新它。如果用户说现在,更新它并说之后继续申请。这只是一个示例,欢迎提供任何相关信息。
谢谢。
最佳答案
你真的不应该。这不属于库,但应该在使用该库的应用程序中完成。
在 WinForms 应用程序可能通过显示 MessageBox
来解决问题的情况下,Web 应用程序可能会在成功的 POST 后执行请求而不询问(因为 POST 通常显示修改资源的意图)。
例如,当您的库用于登录时,只需抛出一个 AuthenticationException
,这样客户端应用程序(无论是 WinForms、Web 还是其他)就可以捕获并显示相应的消息。
至于您的编辑:
I have a dll for creating database at runtime of an application ...
为什么不公开两个方法,如 IsDatabaseUpToDate()
和 UpdateDatabase()
?然后在客户端,就可以调用第一个方法了。如果它返回 false,您将询问用户(使用 MessageBox、HTML 表单、JavaScript Alert、简单的"is"按钮或闪烁的磁贴)他们是否要更新数据库。如果是这样,您可以调用 UpdateDatabase()
方法,然后就可以开始了。
关于c# - 在 dll 库中显示消息框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10412374/