zoukankan      html  css  js  c++  java
  • 封装自定义控件——c#

    转自:https://blog.csdn.net/aoshilang2249/article/details/41252781?utm_medium=distribute.pc_relevant_bbs_down.none-task-blog-baidujs-2.nonecase&depth_1-utm_source=distribute.pc_relevant_bbs_down.none-task-blog-baidujs-2.nonecase

    封装自定义控件很简单,没什么技术含量,这里通过封装自定义的数字文本框实例简单总结一下:

    【1】新建自定义控件库 -- Windows Forms Control Library

    【2】添加自定义组件 -- Component Class

    【3】继承TextBox,添加KeyPress事件,代码如下:

     
    using System;
     
    using System.Collections.Generic;
     
    using System.ComponentModel;
     
    using System.Diagnostics;
     
    using System.Linq;
     
    using System.Text;
     
    using System.Windows.Forms;
     
     
     
    namespace WinForms.SelfControl
     
    {
     
    /// <summary>
     
    /// 数字文本框 -- 如果生成的Dll在工具箱中导入不了,可以直接将Dll拖入
     
    /// </summary>
     
    public partial class TextBoxNumber : TextBox
     
    {
     
    public TextBoxNumber()
     
    {
     
    InitializeComponent();
     
    }
     
     
     
    public TextBoxNumber(IContainer container)
     
    {
     
    container.Add(this);
     
     
     
    InitializeComponent();
     
     
     
    this.KeyPress += TextBoxNumber_KeyPress;
     
    }
     
     
     
    /// <summary>
     
    /// 只能输入数字
     
    /// </summary>
     
    void TextBoxNumber_KeyPress(object sender, KeyPressEventArgs e)
     
    {
     
    //如果输入的不是数字键,也不是回车键、Backspace键,则取消该输入
     
    if ( !(Char.IsNumber(e.KeyChar)) &&
     
    e.KeyChar != (char)13 &&
     
    e.KeyChar != (char)8 )
     
    {
     
    e.Handled = true;
     
    }
     
    }
     
    }
     
    }


    【4】将生成后的Dll添加到工具箱

    【5】测试自定义的控件 -- 验证是否只能输入数字

    【6】注意问题

    必须采用AnyCPU编译,如果生成的Dll导入到工具箱有问题,可以直接将文件拖入。。。

  • 相关阅读:
    第八章 多线程编程
    Linked List Cycle II
    Swap Nodes in Pairs
    Container With Most Water
    Best Time to Buy and Sell Stock III
    Best Time to Buy and Sell Stock II
    Linked List Cycle
    4Sum
    3Sum
    Integer to Roman
  • 原文地址:https://www.cnblogs.com/eve612/p/14278619.html
Copyright © 2011-2022 走看看