我有一个我编写的自定义控件,它在控件的 Load 事件中进行一些位置检查。此位置检查根据其父控件中的设置将控件移动到屏幕上的特定位置。当我编译和运行应用程序时,此代码按预期工作。

但是,在使用 Visual Studio 设计器时,它会导致我的控件被绘制到可视区域之外,并且我无法使用该设计器。我可以设置一个标志或属性来阻止该代码片段仅在 Visual Studio 设计器中运行吗?

我现在唯一的解决方法是注释掉代码,编译,启动设计器,进行更改,然后取消注释代码并重新编译。

最佳答案

您可以检查 LicenseManager.UsageMode 的值。

if (LicenseManager.UsageMode == LicenseUsageMode.Runtime)
{
    // Code here won't run in Visual Studio designer
}

关于winforms - 防止代码仅在 Visual Studio 设计器中运行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12141260/

10-10 13:46