Bala_Manaoano 2024-06-14 14:42 采纳率: 50%
浏览 0

WinForm窗体问题

打开一个C#项目,自定义的控件看不到视图,VS提示若要在类中添加组件,请从工具箱中拖出它们,然后使用“属性”窗口来设置它们的属性。

img

求解释!

  • 写回答

3条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-06-14 14:42
    关注

    引自免费微信小程序:皆我百晓生

    遇到在Visual Studio中自定义控件无法在设计视图中显示的问题时,通常有几种解决办法。这可能是因为缺少必需的设计器属性、控件没有正确注册到工具箱、或者控件的设计时支持代码存在问题。

    解决方案

    1. 确保控件继承自正确的基类

    自定义控件应继承自System.Windows.Forms.Control或其派生类(如ComboBox)。例如:

    public class CustomComboBox : ComboBox
    {
        // 自定义控件的实现
    }
    

    2. 添加Designer属性

    在自定义控件类中,确保有Designer属性。这告诉Visual Studio此控件可以被设计时支持。

    [Designer("System.Windows.Forms.Design.ParentControlDesigner, System.Design")]
    public class CustomComboBox : ComboBox
    {
        // 控件的其他代码
    }
    

    3. 注册控件到工具箱

    确保在项目启动时,自定义控件被注册到工具箱。这可以通过在程序入口处调用ToolboxItem构造函数完成,或者通过在.Designer.cs文件中添加注册代码。

    Program.csForm1.cs等启动文件中添加:

    static class Program
    {
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            ToolboxItem tbi = new ToolboxItem(typeof(CustomComboBox));
            Toolbox.Add(tbi);
            Application.Run(new Form1());
        }
    }
    

    或者在.Designer.cs文件中添加:

    public partial class Form1
    {
        public Form1()
        {
            InitializeComponent();
    
            // 添加到工具箱
            ToolboxItem tbi = new ToolboxItem(typeof(CustomComboBox));
            Toolbox.Add(tbi);
        }
    }
    

    4. 检查错误信息

    如果上述步骤均未解决问题,检查是否有编译错误或警告,特别是与资源或类型发现相关的。确保所有必要的引用都已包含,并且没有命名空间冲突。

    5. 清理并重建项目

    最后,尝试清理并重新构建项目,以确保所有更改都已应用且没有缓存问题。

    执行以下命令:

    • 清理:右键点击解决方案 -> “清理解决方案”
    • 重建:右键点击解决方案 -> “重建解决方案”

    按照这些步骤操作后,通常可以在设计视图中看到自定义控件了。如果问题仍然存在,可能需要更深入地检查控件的设计时行为代码或Visual Studio的配置。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 6月14日

悬赏问题

  • ¥15 模电中二极管,三极管和电容的应用
  • ¥15 关于模型导入UNITY的.FBX: Check external application preferences.警告。
  • ¥15 气象网格数据与卫星轨道数据如何匹配
  • ¥100 java ee ssm项目 悬赏,感兴趣直接联系我
  • ¥15 微软账户问题不小心注销了好像
  • ¥15 x264库中预测模式字IPM、运动向量差MVD、量化后的DCT系数的位置
  • ¥15 curl 命令调用正常,程序调用报 java.net.ConnectException: connection refused
  • ¥20 关于web前端如何播放二次加密m3u8视频的问题
  • ¥15 使用百度地图api 位置函数报错?
  • ¥15 metamask如何添加TRON自定义网络