【发布时间】:2012-07-13 09:30:23
【问题描述】:
我正在创建一组名为 *Activity 的类,它们都继承自接口 IActivity,例如
public interface IActivity
{
void StartActivity();
}
public class MyFirstActivity : IActivity
{
public int SomeVariable {get; set;}
public MyFirstActivity(int someVariable)
{
SomeVariable = someVariable
}
public void StartActivity()
{
//some code to do stuff with SomeVariable
}
}
这样我就可以创建IActivitys 的列表/数组并运行他们的StartActivity() 方法。
现在我想做的是为每个继承自 IActivity 的类创建一个 UserControl(用于以图形方式编辑任何变量并以图形方式排序活动)。
最好的方法是什么?
我的想法是:
- 为每个 Activity 创建一个单独的 UserControl,然后在 UserControl 的构造函数中创建该 Activity 的实例......或者......
- 使每个活动都成为继承自
IActivity的用户控件。问题在于我可能不想在程序的其他部分使用 UserControl 元素,只使用每个执行的操作并为此使用 UserControl 肯定会在不需要时使用更多资源......李>
有什么想法吗?
编辑:
这个想法是每个 Activity 都有一些可以编辑的属性,并且每个都执行一个不同的操作,当它被调用时会执行 StartActivity 。
活动可以通过创建活动实例并添加到列表来在代码中执行。循环遍历列表以按顺序执行每个StartActivity。
或者在表单上,每个活动的 UserControls 可以由用户创建并拖动到表单周围以达到所需的顺序(在幕后填充列表),然后单击开始按钮(循环调用每个 StartActivity 的列表转。
这将使用 WinForms。
【问题讨论】:
-
您使用 UserControl 的目的有些不清楚。你能详细说明一下吗?它在 WinForms 中吗?