• 简陋的会计凭证金额输入控件 [转]


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

    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脚本,控制文本框只能输入数字和小数点 五、界面如下 总结 这个还是有很大的问题,还远远打不到金碟的水平,不过这个也是我第一个自定义控件,我会不断的升级,如果真的能和金蝶做的一样,会马上发布的。

  • 相关阅读:
    idea 开发中常用的36个快捷键!
    算法学习一
    elastic-job-lite使用文档
    Windows使用Fiddler对手机抓包或调试本地计算机web站点方法
    Thread.join的作用和原理
    static修饰的代码块被称作静态代码块
    【Java面试题】52 java中会存在内存泄漏吗,请简单描述。
    数据类型 Object.keys,values,entries
    数据类型 Map and Set(映射和集合)
    数组映射到对象
  • 原文地址:https://www.cnblogs.com/ddlzq/p/3529462.html
Copyright © 2020-2023  润新知