Winforms禁用数据预览
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Winforms禁用数据预览相关的知识,希望对你有一定的参考价值。
我正在尝试为我的组合框生成一个列表。这是在加载usercontrol时完成的。但是因为我根据哪些类实现某个接口来生成这个列表,所以表单的预览崩溃了。所以这个usercontrol在表单内部,表单试图“加载”usercontrol,找不到数据并抛出错误。我想禁用数据预览,只显示空的usercontrol
我该怎么做呢?
错误的屏幕截图:
使表单崩溃的代码段:
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;
答案
所以听起来你需要区分设计模式和运行时模式。
有一些事情可以帮助你,你需要选择哪一个最适合你;
有
DesignMode
财产LicenseModeUsage
财产
工作方式不同,例如DesignMode在构造函数中不起作用,但LicenseMode不起作用。因此,您需要确定哪种方法最适合您,具体取决于您需要使用它的位置。
这篇文章比我更好地解释了它; http://dotnetfacts.blogspot.de/2009/01/identifying-run-time-and-design-mode.html
以上是关于Winforms禁用数据预览的主要内容,如果未能解决你的问题,请参考以下文章
WinForms - 打印两个数据网格视图时,打印预览很好,但在纸上只打印第二个 dgv