Winforms禁用数据预览

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Winforms禁用数据预览相关的知识,希望对你有一定的参考价值。

我正在尝试为我的组合框生成一个列表。这是在加载usercontrol时完成的。但是因为我根据哪些类实现某个接口来生成这个列表,所以表单的预览崩溃了。所以这个usercontrol在表单内部,表单试图“加载”usercontrol,找不到数据并抛出错误。我想禁用数据预览,只显示空的usercontrol

我该怎么做呢?

错误的屏幕截图:

Screenshot of the error

使表单崩溃的代码段:

var type = typeof(IConnector);
var types = AppDomain.CurrentDomain.GetAssemblies()
    .SelectMany(s => s.GetTypes())
    .Where(p => type.IsAssignableFrom(p) && !p.IsInterface).ToList();
foreach (Type typeString in types)
{
    object obj = Activator.CreateInstance(typeString);
    connectors.Add((IConnector)obj);
}
connectionChooserComboBox.DataSource = connectors;

表单显示了这一点,用户控件应该在这里显示Error thrown by

答案

所以听起来你需要区分设计模式和运行时模式。

有一些事情可以帮助你,你需要选择哪一个最适合你;

  • DesignMode财产
  • LicenseModeUsage财产

工作方式不同,例如DesignMode在构造函数中不起作用,但LicenseMode不起作用。因此,您需要确定哪种方法最适合您,具体取决于您需要使用它的位置。

这篇文章比我更好地解释了它; http://dotnetfacts.blogspot.de/2009/01/identifying-run-time-and-design-mode.html

以上是关于Winforms禁用数据预览的主要内容,如果未能解决你的问题,请参考以下文章

WinForms - 打印两个数据网格视图时,打印预览很好,但在纸上只打印第二个 dgv

片段中的 Android 相机预览

Android:通过片段进行相机预览。从活动中确定

如何在 WinForms 中禁用 TreeView 的节点重命名?

如何禁用在android片段类中按下的后退按钮

在 Firebase 中禁用自动活动跟踪