我在Control
.
if (ParentForm != null)
{
traceBlock.Log("ParentForm is null");
if (!ParentForm.IsHandleCreated)
{
ParentForm.HandleCreated += (sender, e) =>
{
var text = PhysDocContext.Document.GetHeader(PhysDocContext);
ParentForm.Text = text;
};
}
}
此代码使用ParentForm == null
. 很明显,记录器正在记录不准确的信息。真正让我感到奇怪的是检查IsHandleCreated
. 在我看来,这段代码永远不会触发。所以事件不会挂钩,并且标题永远不会被设置。
更奇怪的是,ParentForm 被设置Panel
为父窗体拥有的控件。它也由作为父级的 Form 设置。让我相信这是一个更不可能的情况。
Form
在没有句柄的 .NET 中可以访问a 是否正常(甚至可能) ?