以下是通过继承/扩展标准控件 Timer 创建的名为 JobTimer 的自定义控件。目的:为了得到一个名为 JobID 的自定义属性添加到控件中。
public class JobTimer : System.Windows.Forms.Timer
{
private int IntJobID;
public int JobID
{
get{return IntJobID;}
set{IntJobID = value;}
}
}
这些控件是在运行时以编程方式创建的。以下是执行此操作的代码:
public static void CreateTimer(int JobID)
{
JobTimer ControlJobTimer = new JobTimer();
ControlJobTimer.Name = "JobTimer" + JobID.ToString(); //Error occurs here.
ControlJobTimer.Enabled = true;
ControlJobTimer.JobID = JobID;
ControlJobTimer.Interval = 30000;
ControlJobTimer.Tick += new EventHandler(JobTimer_Tick);
ControlJobTimer.Start();
}
我在这里面临的问题是我无法为此控件“设置”标准属性 Timer.Name。
错误:NameSpace.JobTimer 不包含“Name”的定义,并且找不到接受 NameSpace.JobTimer 类型的第一个参数的扩展方法“Name”(您是否缺少 using 指令或程序集引用?)![输入图片此处描述][1]
即使以下代码行应该将此控件的名称设置为“ControlJobTimer”
JobTimer ControlJobTimer = new JobTimer();
我不应该仍然能够在运行时“重命名”控件吗?据我所知,这对于标准控件是可行的,并且也应该是自定义控件的一个可能选项。
我的要求是我希望能够为运行时创建的计时器控件设置命名约定。请调查一下,让我知道我缺少什么以及是否有解决方法来实现此功能。