c#从运行时绘制的对象发送单击事件

时间:2010-12-30 19:55:08

标签: c# .net winforms

我有一个简单的程序,允许输入有关作业的详细信息并指定日期。我正在使用该项目学习c#,并相信我已经走了很长的路。

我正在尝试实现用户友好的日期范围输入系统。因为我正在利用这些经验来学习该程序,所以我决定制作一个在需要时在表格上绘制日历的类。

该课程的初始要求非常有效。它接收一个对象(通常的形式)和一个点。然后,该类在数据库中搜索给定范围内的任何日期(从today()开始,但可以由表单操作),并显示具有日期和数据库中包含的任何信息的月份样式框。

但现在我想进入下一步,并允许人们点击特定日期来选择它以及要触发的特定代码段。 ..唯一的问题是! :

如何编制表单中的点击事件,与设计时不存在的标签/绘制框相关...

由于标签是在运行时动态创建的,我还没有办法直接分配给它们。我可以为此重新编写课程,但如果可能的话,我宁愿不这样做。

理想情况下我正在寻找一个解决方案(如果存在的话),当点击标签时,方法会传递label.text。有没有人能指出我如何为50个标签中的任何一个直到运行时才创建的点击事件编码?

感谢您抽出时间阅读,更感谢那些回复。

亲切的问候 保罗

1 个答案:

答案 0 :(得分:1)

this.Controls["myDynamicallyCreatedControl"].Click 
    += new EventHandler(MyEventHandlerMethod_Click);

private void MyEventHandlerMethod_Click(object sender, EventArgs e)
{
    // Handle click event here.
}