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导入到工具箱有问题,可以直接将文件拖入。。。

  • 相关阅读:
    解决 “页面中文字增多,字号突然变大” 的问题
    Seajs的用法
    clientWidth、clientHeight、offsetWidth、offsetHeight以及scrollWidth、scrollHeight
    页面中文字增多,字号会突然变大
    flex的使用实例
    移动端弹窗滚动时window窗体也一起滚动的解决办法
    display:inline-block带来的问题及解决办法
    sql 整理积累
    T-SQL建索引
    php json_encode在CI框架中的使用细节
  • 原文地址:https://www.cnblogs.com/eve612/p/14278619.html
Copyright © 2011-2022 走看看