首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场

多开路
EN

Stack Overflow用户
提问于 2014-12-11 18:52:04
回答 1查看 41关注 0票数 1

我有一个应用程序,它可以从许多不同的操作中启动/更新一个表单(让我们称之为QuickNoteForm)。它可以从许多不同的选项卡启动表单,并且大部分是通过我的应用程序中的按钮启动的。

我基本上想跟踪它是从哪里发射的(我需要跟踪它的发射路线)。

什么是实现这一目标的好方法。我正在考虑将其作为通过QuickNoteForm的构造函数设置的属性来封装。我想追踪这个表单是从哪个动作中启动的。

这是一个windows窗体应用程序,而不是asp.net应用程序。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-11 20:33:04

创建一个枚举,列出所有可能的路径(如果您担心可维护性,则创建一个包含常量的静态类,在编译和修改时枚举不能很好地工作)。向窗体中添加一个自定义构造函数,该构造函数将接受此枚举作为参数。实例化表单时,请使用该构造函数。基本上将所有出现的New QuickNoteForm()替换为New QuickNoteForm(yourEnumValue)。为了兼容性,向枚举添加一个Unknown = 0值,这样调用表单的默认构造函数也会工作,只是没有那么有用。

如果这种方法不实用(请提供您的应用程序的更多细节),您还可以在表单的构造函数中提供一个上下文控件作为参数。然后有像If typeOf ctl Is Button AndAlso DirectCast(ctl, Button).Text = "Something" Then这样的代码和各种各样的疯狂的东西。这促进了关注点的分离,即调用代码不需要知道如何调用,只需要将其作为参数传递,还会使代码更难维护,因为您可能最终会得到一种将所有部件连接在一起的巨大的“万事通”方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27430276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档