我有一个自定义控件,它需要访问它所在的主窗体的高度。由于此控件通常嵌套在一系列面板中,因此我编写了这段代码来尝试让我进入主窗体:
TControl * control = this;
while( control->HasParent() )
{
control = control->ParentControl;
ShowMessage( control->Name );
}
使用该ShowMessage
语句跟踪我的进度,当我逐步执行代码时,我一直到“BasePanel”,在这种情况下,它是“MainForm”之前的最后一个控制。但是,当调用ShowMessage
应该是“MainForm”时,我会遇到访问冲突。
是否有某种原因我无法以这种方式访问控件的主要形式?有没有更好的方法来访问控件的主窗体?