zoukankan      html  css  js  c++  java
  • 关于dll 中没有可放置在工具箱上的组件 的解决技巧

    1,我遇到的问题是再写控件库的扩展类时,没有加public关键字,如

     public class MyListView: System.Windows.Forms.ListView
     {

    。。。。

    }

    如果去掉 public 也可以生成DLL,但当你把它添加到用户控件时就会提示:在e:/mylistview/bin/myListView.dll中没有可放置在工具箱上的组件

    2,控件需要有自己的空的构造函数,即使如果存在带参数的构造函数也应存在空的构造函数

    View Code
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.ComponentModel;
    using System.Windows.Forms;
    using System.Drawing;
    
    namespace CustomControlSample
    {
        public class FirstControl : Control
        {
            public FirstControl()
            {
            }
            private ContentAlignment alignmentValue = ContentAlignment.MiddleLeft;
            [
            Category("Alignment"),
            Description("Specifies the alignment of text.")
            ]
            public ContentAlignment TextAlignment
            {
                get { return alignmentValue; }
                set 
                {
                    alignmentValue = value;
                    Invalidate();
                }
            }
            protected override void OnPaint(PaintEventArgs e)
            {
                base.OnPaint(e);
                StringFormat style = new StringFormat();
                style.Alignment = StringAlignment.Near;
                switch (alignmentValue)
                {
                    case ContentAlignment.MiddleLeft:
                        style.Alignment = StringAlignment.Near;
                        break;
                    case ContentAlignment.MiddleRight:
                        style.Alignment = StringAlignment.Far;
                        break;
                    case ContentAlignment.MiddleCenter:
                        style.Alignment = StringAlignment.Center;
                        break;
                }
    
    
                e.Graphics.DrawString(
                    Text,
                    Font,
                    new SolidBrush(ForeColor),
                    ClientRectangle, style);
            }
    
        }
    }
  • 相关阅读:
    闭包
    函数的嵌套和作用域链
    函数命名空间
    初识函数
    快捷键
    centos7 配置远程ssl证书访问docker
    centos 7 修改主机名称hostname
    centos7 在docker中安装gocron
    centos7 在docker中安装mongodb
    centos7 在docker中安装redis
  • 原文地址:https://www.cnblogs.com/anbylau2130/p/2722358.html
Copyright © 2011-2022 走看看