表单设计器打破了通用抽象 UserControl

2024-02-06

我有一个通用摘要UserControl class, SensorControl,我希望所有传感器控制面板都继承它。

问题

当尝试设计时EthernetSensorControl(我从 Visual Studio 继承的 UserControl 表单之一,表单设计器中显示以下错误:

The designer could not be shown for this file because none of the classes within it can be designed. The designer inspected the following classes in the file: DeviceSensorControl --- The base class 'Engine.Sensors.SensorControl' could not be loaded. Ensure the assembly has been referenced and that all projects have been built.

SensorControl class:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Engine.Sensors
{
    public abstract class SensorControl<SensorType>
        : UserControl where SensorType : class
    {
        protected SensorType _sensor;
        public SensorControl(SensorType sensor)
        {
            _sensor = sensor;
        }
    }
}

示例继承类,EthernetSensorControl:

namespace Engine.Sensors
{
    public partial class EthernetSensorControl
        : SensorControl<EthernetSensor>
    {
        public EthernetSensorControl(EthernetSensor sensor)
            : base(sensor)
        {
        }
    }
}

和调用堆栈:

at System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.EnsureDocument(IDesignerSerializationManager manager) at System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager manager) at Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager) at System.ComponentModel.Design.Serialization.BasicDesignerLoader.BeginLoad(IDesignerLoaderHost host)

一切都编译完毕,我可以看到显示的面板,但我无法设计它。我认为问题可能与partial类。有任何想法吗?


您不能设计继承某个控件或窗体abstract class.

(设计者需要实例化基类作为设计图面)

基类还需要有一个无参数构造函数供设计者调用。
这个构造函数可以是私有的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

表单设计器打破了通用抽象 UserControl 的相关文章

随机推荐

  • 自动删除 Amazon S3 中超过 n 天的对象(如何操作?)

    我在 Amazon S3 中存储许多图像 使用 ruby 库 http amazon rubyforge org http amazon rubyforge org 我不关心超过 1 周的照片 然后为了释放 S3 中的空间 我必须删除这些照
  • XPath lowercase() 函数

    我使用 XPATH 从 XML 文档中选择某些节点 用户能够插入该位置的值 它工作正常 但如果使用不同的情况 它就不起作用 我决定在比较之前将 XML 值和用户输入更改为小写可能是最好的方法 我目前将其作为我的选择器 NodeIter na
  • 如何检测 Windows 7 调整了窗口大小

    问题 1 如何检测窗口 WPF 的大小已调整航空快拍 http en wikipedia org wiki Windows Aero 然后我可以忽略新的大小和位置 感谢您提前的答复和评论 退出时 调用获取窗口位置 http msdn mic
  • Python:使用 smtplib 模块发送电子邮件时未显示“主题”

    我能够使用 smtplib 模块成功发送电子邮件 但发送电子邮件时 发送的电子邮件中不包含主题 import smtplib SERVER
  • 每组最高

    在这里很难显示我的实际表和数据 因此我将用示例表和数据来描述我的问题 create table foo id int x part int y part int out id int out idx text insert into foo
  • 如何将 angular2 中的秒转换为时间字符串?

    因此 我一直在整个网络中寻找此功能 但没有找到可以用来将秒转换为可以表示为字符串的年 月 日 小时 分钟和秒的解决方案 我已经提出了 Angular2 中的 Pipe 解决方案 但是我想获得一些关于可以做得更好的事情的反馈来改进它 而且也许
  • 单个列表中的近似字符串匹配 - r

    我在一个长列表中包含数千个名字的数据框中列出了一个列表 许多名称都有细微的差别 这使得它们略有不同 我想找到一种方法来匹配这些名字 例如 names lt c jon smith jon smith Jon Smith jon smith
  • jsTree - 通过ajax按需加载子节点

    我正在尝试让 jsTree 能够按需加载子节点 我的代码是这样的 jQuery introspection tree jstree json data ajax url http localhost introspection intros
  • git推送认证失败

    我正在尝试从我的内部推送编辑任何地方的Python http www pythonanywhere comGitHub 上的原始主机的 hosting 帐户失败 它要求我提供 GitHub 用户名和密码 尽管提供了正确的凭据 它仍显示以下错
  • 如何将密码查询合并到 Py2neo v3 中的事务中

    在 py2neo v2 0 中 可以使用事务来执行 Cypher 语句 tx graph cypher begin tx append MERGE n Process proc nm proc nm ON CREATE SET n coun
  • 过滤 SQL 列中仅包含数字数据的行

    我在尝试着SELECT通过应用仅识别数字列的过滤条件 可以在表中显示行 这是一个仅报告的查询 因此我们最不关心性能 因为我们没有编译 PL SQL 的权限 无法检查TO NUMBER 并返回是否为数字 我必须用SQL来实现它 该列也具有这样
  • 在Python中模拟模拟对象的方法?

    我正在为一个用 Python 3 4 编写的项目编写单元测试 使用unittest mock图书馆 我正在测试的函数包含对函数的调用 versions get all versions some argument 我已经用一个修补程序Mag
  • iOS - 以编程方式获取当前正在播放的项目队列

    我想以编程方式获取当前在本机音乐应用程序中播放的队列 我可以用MP音乐播放器控制器获取当前正在播放的项目 但我不仅想获取该项目 还想获取整个播放队列 是否可以使用AV基金会或任何其他图书馆 我很确定这是不可能通过任何公共 API 实现的 s
  • 当output_dir包含空格时使用Rmarkdown生成PDF文档时出错

    这是一个最小的工作示例 名为mwe Rmd output pdf document latex engine xelatex keep tex TRUE header includes usepackage space grffile r
  • 使用 git Reset 转到较旧的变更集后,如何返回到历史记录中的最后一次提交?

    假设我的历史是这样的 A B C D 主 If I do git reset B 我会得到 A B 主 麻烦的是 git log现在只向我显示从A到B的历史 而我再也看不到C和D了 我怎样才能回到D 您应该能够看到 Dgit reflog
  • 如何将附加在 formData 中的 blob 发送到 php

    Issue 在上传大图像文件时 我发现在我的AWS server having 1gb memory使用它的全部容量 它会达到932 mb使用会导致进程崩溃 我以 DataURI 的形式保存该图像 然后我在某处读到以以下形式保存它blob可
  • Android 检查应用程序是否关闭

    我有一个android应用程序 我需要一个函数或任何广播接收器来检查应用程序是否关闭 我不需要在每个活动中调用销毁 应用程序中有大约20个活动 我尝试添加这个功能应用类 public class ApplicationLifeCycleMa
  • AsyncTask 中的 android.os.NetworkOnMainThreadException

    我意识到当您尝试在 UI 线程上执行某种网络请求时会发生此错误 但正如您在下面的代码中看到的 我实际上是在 AsyncTask 中调用 Http Get public class LeftPaneFragment extends Fragm
  • Eclipse 是否将第 3 方 GWT 库上传到 GAE?

    降低应用程序冷启动延迟的技巧之一是使用 上传尽可能少的 JAR 我想知道如何防止第 3 方 GWT 库 如 gwtquery jar 等 上传到 GAE 一旦应用程序被编译 这些就变得毫无用处 所以如果它们归因于延迟 那将是非常不幸的 如果
  • 表单设计器打破了通用抽象 UserControl

    我有一个通用摘要UserControl class SensorControl 我希望所有传感器控制面板都继承它 问题 当尝试设计时EthernetSensorControl 我从 Visual Studio 继承的 UserControl