今天看到金碟的会计凭证,看到了它很人性化的金额输入框,突然兴起也想玩个,就做了这么简陋的一个.
不过这也是我第一个自定义控件,以后慢慢的完善它,达到有用的程度
其实很简单.先把代码贴出来,再介绍代码的说明

using System;
using System.ComponentModel;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Voucher
{
    [DefaultProperty("jText")]
    [ToolboxData(@"<{0}:VoucherInput jText = '000'  
    runat='server'></{0}:VoucherInput>")
    ]
    public class VoucherInput : WebControl, INamingContainer
    {
      
        private TextBox _TextBox;

        属性#region 属性
        [
        Bindable(true),
        Category("Appearance"),
        DefaultValue(""),
        Description("金额")
        ]
        public string jText
        {
            get
            {
                EnsureChildControls();
                return _TextBox.Text;
            }
            set
            {
                EnsureChildControls();
                _TextBox.Text = value;
            }
        }

        #endregion Properties delegated to child controls

        方法#region 方法
        protected override void CreateChildControls()
        {
            Controls.Clear();
            _TextBox = new TextBox();
            _TextBox.ID = "TextBox1";
            _TextBox.MaxLength = 15;
            _TextBox.Width = 120;
            _TextBox.Height = 20;
            _TextBox.Attributes.Add("onkeypress", "keyPress()");
            _TextBox.Style.Add(HtmlTextWriterStyle.BackgroundImage, "url(Images/text.gif)");
            _TextBox.Style.Add(HtmlTextWriterStyle.Direction, "rtl");
            _TextBox.Style.Add(HtmlTextWriterStyle.BorderWidth, "0");

            this.Controls.Add(_TextBox);

        }

        protected override void Render(HtmlTextWriter writer)
        {
            AddAttributesToRender(writer);
            _TextBox.RenderControl(writer);
            writer.Write("<script language=javascript>function keyPress(){if(!(event.keyCode>=48&&event.keyCode<=57 ||event.keyCode==46||event.keyCode==45)){event.keyCode = 0;}}</script>");
        }
        #endregion Overriden methods

    }
}

一、添加引用
      using System.Web.UI; 
      using System.Web.UI.WebControls;
二、设置默认的属性和默认的标志
      [DefaultProperty("jText")]
      [ToolboxData(@"<{0}:VoucherInput jText = '0.00' runat='server'>") ]
      他们在asp.net的设计页面上就等于<cc1:VoucherInput ID="VoucherInput1" runat="server" jText="0.00" />
三、设置TextBox的属性
      背景图片、最大字符等等
四、输出javascrip脚本,控制文本框只能输入数字和小数点
五、界面如下

总结
这个还是有很大的问题,还远远打不到金碟的水平,不过这个也是我第一个自定义控件,我会不断的升级,如果真的能和金蝶做的一样,会马上发布的。

转载于:https://www.cnblogs.com/jiekeng/archive/2006/10/26/541075.html

简陋的会计凭证金额输入控件相关推荐

  1. INFO:InstallShield InstallScript工程中自定义界面文本输入控件的两个注意事项

    在使用InstallScript工程增加自定义界面过程中,我用到了文本输入控件(Edit Field),用于用户名和密码的输入. 首先是用户名,如果用户名长度超过我的控件长度时,发现无法再继续输入内容 ...

  2. WPF IP地址输入控件的实现

    WPF IP地址输入控件的实现 原文:WPF IP地址输入控件的实现 一.前言 WPF没有内置IP地址输入控件,因此我们需要通过自己定义实现. 我们先看一下IP地址输入控件有什么特性: 输满三个数字焦 ...

  3. 正则表达式——WPF输入控件TextBox 限定输入特定字符

    正则表达式--WPF输入控件TextBox 限定输入特定字符 原文:正则表达式--WPF输入控件TextBox 限定输入特定字符 概念: 正则表达式是对字符串操作的一种逻辑公式, 就是用事先定义好的一 ...

  4. 【antd】输入控件的思想

    antd对于form中输入控件的抽象十分简单,只要能接收value和onChange属性的组件都可以成为Form.Item的子组件,为Form对应的字段提供值.对于输入控件的抽象我认为这已经达到了极致 ...

  5. jquery-文档操作-标签取值-输入控件取值与赋值

    html 文本 值 获取标签包裹的内容 dom的属性 jquery的方法 演练 小结 dom对象,jquery对象,取值方式的对等 对象 纯文本 html文本 dom innerText innerH ...

  6. 一起学Windows Phone7开发(十三.三 输入控件)

    在Phone7中主要的输入控件其实就有两个,一个是textbox,另一个就是password控件.这两个控件中尤其是TextBox控件有了很多新特性. 一.PasswordBox:   密码框控件,用 ...

  7. 给大家介绍一个日期输入控件javascript实现,我修改了下,符合我的习惯了,^_^!...

    最终效果如图: <formname="form1"method="post"action=""> <p> <i ...

  8. php支付密码控件,Android高仿微信支付密码输入控件实例代码

    这篇文章主要为大家详细介绍了Android高仿微信支付密码输入控件的具体实现代码,供大家参考,具体内容如下 像微信支付密码控件,在app中是一个多么司空见惯的功能.最近,项目需要这个功能,于是乎就实现 ...

  9. ExtJS4.2学习(17)表单基本输入控件Ext.form.Field(转)

    鸣谢:http://www.shuyangyang.com.cn/jishuliangongfang/qianduanjishu/2013-12-11/189.html --------------- ...

最新文章

  1. 无法连接到数据库服务器 could not connect to server: Connection refused
  2. python用for循环读取图片_python 使用for循环简单爬取图片(1)
  3. VC 为静态控件添加事件
  4. Python高级特性:列表生成式
  5. 现代程序设计 作业6 - 简单而有意义的题目
  6. SCENIC | 从单细胞数据推断基因调控网络和细胞类型
  7. 几个常用的CSS3样式代码以及不兼容的解决办法
  8. 给文章中重复标签排序
  9. git远程删除分支后,本地git branch -a 依然能看到的解决办法
  10. 利用openpyxl来读取Excel数据
  11. 个人作业-2016.12.2
  12. 局域网SDN技术硬核内幕 三 从物到人——SDN走进园区网络
  13. oppo小布机器人_OPPO小布助手喜迎重大升级,你的私人全能管家现已上线!
  14. 识别车牌是什么神经网络,车牌识别深度神经网络
  15. Spark认知Spark环境搭建
  16. java导出用什么_Java导出Excel
  17. 【全】常见的空气净化技术,你知道几种类型?
  18. 用div和css制作网页,DIVCSS网页设计总结:有用的3个网页制作_css
  19. 应用内打开QQ,发送消息给指定联系人(临时会话),应用内加群
  20. 单服务器node.js和php性能测试

热门文章

  1. Android移动开发之【Android实战项目】DAY2-使用Fragment实现底部菜单栏
  2. java静态钥匙上同步代=代码块锁
  3. linux访问网页元素,Linux_DOM和JAVASCRIPT访问页面上的元素,访问方法:getElementById() - phpStudy...
  4. Druid 执行时间分布规则
  5. java 回调模式_总结!!!总结!!!java回调以及future模式
  6. 企业网络推广方案浅析网站优化中外链该怎么发布?
  7. 浅析移动端网站是如何做好前期策划工作的?
  8. SEO优化如何让网站关键词排名稳如狗?
  9. php rabbmq教程_RabbitMQ+PHP 教程六(RPC)
  10. springboot打印sql日志_Spring boot 工程,http打印日志太多