【问题标题】:Setting the Site Property of TFrame设置 TFrame 的站点属性
【发布时间】:2011-07-31 18:29:13
【问题描述】:

我正在尝试在 C# 中创建一个包含 Delphi TFrame 的 CustomControl,它可以从 VisualStudio 工具箱拖到窗体上。我已经正常工作了这么多,但是当我尝试调整控件大小时,由于 TFrame 未在设计模式下运行而发生错误(它尝试访问框架上数据网格的事件处理程序)。

我在 Delphi 中创建了一个包含各种控件(数据网格、组合框等)的 TFrame 对象,并在 C# 中创建了一个包含 TFrame 对象的 CustomControl。

为了解决这个问题,我认为我需要设置 TFrame 对象的 Site 属性,以便 DesignMode 为真。我该怎么做?

我知道如果 LicenseManager.UsageMode 设置为 DesignTime,我可以通过在每个方法开始时检查来解决此问题,但这似乎是解决问题的一种非常糟糕的方法。因此,如果可能的话,我希望正确设置站点属性。

我正在使用 CodeGear RAD Studio 2007 和 Visual Studio 2008。

提前致谢

【问题讨论】:

    标签: c# delphi design-time tframe


    【解决方案1】:

    原来这个问题是由 Visual Studio 中的一个错误引起的,其中 DesignMode 和 Site 属性永远不会在构造函数或 UserControl 中创建的组件上设置。因此,DesignMode 属性始终为 false。

    有几个建议的解决方案都涉及向任何事件处理程序或方法添加测试,其中代码只应在运行时执行。第一个选项是检查 LicenseManager.UsageMode 属性,第二个选项是检查执行进程的名称(例如,如果它的“devenv”那么它的设计时间)。

    【讨论】:

      猜你喜欢
      • 2020-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-09
      • 1970-01-01
      • 2020-02-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多