多个打开路径

本文关键字:路径 | 更新日期: 2023-09-27 18:33:57

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

我基本上想跟踪它从哪里启动,即我需要跟踪它的启动路径。

实施这一点的好方法是什么。我正在考虑将其括为通过快速NoteForm的构造函数设置的属性。我想跟踪此表单是从哪个操作启动的。

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

谢谢。

多个打开路径

创建一个列出

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

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