【发布时间】:2016-03-01 20:02:19
【问题描述】:
我知道这个话题有很多问题。但我似乎无法真正理解整个委托的内容。我有点想让它工作并继续前进。每次看到代表时,我都会想,一定有一种方法可以让这件事更容易理解和做,但我似乎找不到。
我有一个 FlowLayoutPanel 将填充一堆面板。每个面板都需要附加一个 OnClick(或 Click?)方法。
所以我继续写了(在我的个人面板类的创建者内部):
IntDrawForm form = FindForm() as IntDrawForm;
Click += form.PointPanelClick;
当我尝试创建一个我的面板时,我得到了错误消息Delegate to an instance method cannot have null 'this'。
【问题讨论】:
-
您所问的内容非常模棱两可。你用什么语言写作?错误信息是什么?
-
@gmoshkin:我认为在这种情况下假设它是 C# 是合理的,并且我相信错误消息与标题一样,尽管这肯定会更清楚。
-
表单可能为空。试试:
if (form != null) { Click += form.PointPanelClick; }。顺便说一句,我假设您正在使用C#进行编码。 -
非常抱歉,是的,这是c#