📄 maskededitextender.cs
字号:
// (c) Copyright Microsoft Corporation.
// This source is subject to the Microsoft Permissive License.
// See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx.
// All other rights reserved.
// Product : MaskedEdit Extender
// Version : 1.0.0.0
// Date : 11/08/2006
// Development : Fernando Cerqueira
// Version : 1.0.0.1
// Development : 02/22/2007 Fernando Cerqueira
using System;
using System.ComponentModel;
using System.Collections.Generic;
using System.Globalization;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
[assembly: System.Web.UI.WebResource("AjaxControlToolkit.MaskedEdit.MaskedEditBehavior.js", "text/javascript")]
[assembly: System.Web.UI.WebResource("AjaxControlToolkit.MaskedEdit.MaskedEditValidator.js", "text/javascript")]
namespace AjaxControlToolkit
{
[Designer("AjaxControlToolkit.MaskedEditDesigner, AjaxControlToolkit")]
[ClientScriptResource("AjaxControlToolkit.MaskedEditBehavior", "AjaxControlToolkit.MaskedEdit.MaskedEditValidator.js")]
[ClientScriptResource("AjaxControlToolkit.MaskedEditBehavior", "AjaxControlToolkit.MaskedEdit.MaskedEditBehavior.js")]
[RequiredScript(typeof(CommonToolkitScripts))]
[RequiredScript(typeof(TimerScript))]
[TargetControlType(typeof(TextBox))]
[System.Drawing.ToolboxBitmap(typeof(MaskedEditExtender), "MaskedEdit.MaskedEdit.ico")]
public class MaskedEditExtender : ExtenderControlBase
{
/// <summary>
/// Enable client state for communicating default focus
/// </summary>
public MaskedEditExtender()
{
EnableClientState = true;
}
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
switch (MaskType)
{
case MaskedEditType.Date:
{
AcceptAMPM = false;
AcceptNegative = MaskedEditShowSymbol.None;
DisplayMoney = MaskedEditShowSymbol.None;
InputDirection = MaskedEditInputDirection.LeftToRight;
break;
}
case MaskedEditType.Time:
{
AcceptNegative = MaskedEditShowSymbol.None;
DisplayMoney = MaskedEditShowSymbol.None;
InputDirection = MaskedEditInputDirection.LeftToRight;
break;
}
case MaskedEditType.DateTime:
{
AcceptNegative = MaskedEditShowSymbol.None;
DisplayMoney = MaskedEditShowSymbol.None;
InputDirection = MaskedEditInputDirection.LeftToRight;
break;
}
case MaskedEditType.Number:
{
AcceptAMPM = false;
break;
}
case MaskedEditType.None:
{
AcceptAMPM = false;
AcceptNegative = MaskedEditShowSymbol.None;
DisplayMoney = MaskedEditShowSymbol.None;
InputDirection = MaskedEditInputDirection.LeftToRight;
break;
}
}
//We Can't rely on the culturename because custom changes may have been made
// to the culture settings for the page. Only use the CultureName if it is
// specified in the control
if (String.IsNullOrEmpty(CultureName))
{
CultureName = "";
}
}
// If this textbox has default focus, use ClientState to let it know
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
((TextBox)this.FindControl(TargetControlID)).MaxLength = 0;
ClientState = (string.Compare(Page.Form.DefaultFocus, TargetControlID, StringComparison.OrdinalIgnoreCase) == 0) ? "Focused" : null;
}
[RequiredProperty()]
[DefaultValue("")]
[ExtenderControlProperty]
public string Mask
{
get
{
return GetPropertyValue<string>("Mask", "");
}
set
{
if (!validateMaskType())
{
throw new ArgumentException("Validate Type and/or Mask is invalid!");
}
SetPropertyValue<string>("Mask", value);
}
}
[DefaultValue("Your browser security settings don't permit the automatic execution of paste operations. Please use the keyboard shortcut Ctrl+V instead.")]
[ExtenderControlProperty]
public string ClipboardText
{
get
{
return GetPropertyValue<string>("ClipboardText", "Your browser security settings don't permit the automatic execution of paste operations. Please use the keyboard shortcut Ctrl+V instead.");
}
set
{
SetPropertyValue<string>("ClipboardText", value);
}
}
[DefaultValue(MaskedEditType.None)]
[ExtenderControlProperty]
[RefreshProperties(RefreshProperties.All)]
public MaskedEditType MaskType
{
get
{
return GetPropertyValue<MaskedEditType>("MaskType", MaskedEditType.None);
}
set
{
SetPropertyValue<MaskedEditType>("MaskType", value);
switch (value)
{
case MaskedEditType.Date:
{
AcceptAMPM = false;
AcceptNegative = MaskedEditShowSymbol.None;
DisplayMoney = MaskedEditShowSymbol.None;
InputDirection = MaskedEditInputDirection.LeftToRight;
break;
}
case MaskedEditType.Time:
{
AcceptNegative = MaskedEditShowSymbol.None;
DisplayMoney = MaskedEditShowSymbol.None;
InputDirection = MaskedEditInputDirection.LeftToRight;
break;
}
case MaskedEditType.DateTime:
{
AcceptNegative = MaskedEditShowSymbol.None;
DisplayMoney = MaskedEditShowSymbol.None;
InputDirection = MaskedEditInputDirection.LeftToRight;
break;
}
case MaskedEditType.Number:
{
AcceptAMPM = false;
break;
}
case MaskedEditType.None:
{
AcceptAMPM = false;
AcceptNegative = MaskedEditShowSymbol.None;
DisplayMoney = MaskedEditShowSymbol.None;
InputDirection = MaskedEditInputDirection.LeftToRight;
break;
}
}
}
}
[DefaultValue(true)]
[ExtenderControlProperty]
public bool MessageValidatorTip
{
get
{
return GetPropertyValue<bool>("MessageValidatorTip", true);
}
set
{
SetPropertyValue<bool>("MessageValidatorTip", value);
}
}
[DefaultValue(false)]
[ExtenderControlProperty]
public bool ErrorTooltipEnabled
{
get
{
return GetPropertyValue<bool>("ErrorTooltipEnabled", false);
}
set
{
SetPropertyValue<bool>("ErrorTooltipEnabled", value);
}
}
[DefaultValue("")]
[ExtenderControlProperty]
public string ErrorTooltipCssClass
{
get
{
return GetPropertyValue<string>("ErrorTooltipCssClass", "");
}
set
{
SetPropertyValue<string>("ErrorTooltipCssClass", value);
}
}
[DefaultValue(true)]
[ExtenderControlProperty]
public bool ClipboardEnabled
{
get
{
return GetPropertyValue<bool>("ClipboardEnabled", true);
}
set
{
SetPropertyValue<bool>("ClipboardEnabled", value);
}
}
[DefaultValue(true)]
[ExtenderControlProperty]
public bool AutoComplete
{
get
{
return GetPropertyValue<bool>("AutoComplete", true);
}
set
{
SetPropertyValue<bool>("AutoComplete", value);
}
}
[DefaultValue(false)]
[ExtenderControlProperty]
public bool ClearTextOnInvalid
{
get
{
return GetPropertyValue<bool>("ClearTextOnInvalid", false);
}
set
{
SetPropertyValue<bool>("ClearTextOnInvalid", value);
}
}
[DefaultValue("")]
[ExtenderControlProperty]
public string AutoCompleteValue
{
get
{
return GetPropertyValue<string>("AutoCompleteValue", "");
}
set
{
SetPropertyValue<string>("AutoCompleteValue", value);
}
}
[DefaultValue("")]
[ExtenderControlProperty]
public string Filtered
{
get
{
return GetPropertyValue<string>("Filtered", "");
}
set
{
SetPropertyValue<string>("Filtered", value);
}
}
[DefaultValue(MaskedEditInputDirection.LeftToRight)]
[ExtenderControlProperty]
public MaskedEditInputDirection InputDirection
{
get
{
return GetPropertyValue<MaskedEditInputDirection>("InputDirection", MaskedEditInputDirection.LeftToRight);
}
set
{
SetPropertyValue<MaskedEditInputDirection>("InputDirection", value);
}
}
[DefaultValue("_")]
[ExtenderControlProperty]
public string PromptCharacter
{
get
{
return GetPropertyValue<string>("PromptChar", "_");
}
set
{
SetPropertyValue<string>("PromptChar", value);
}
}
[DefaultValue("MaskedEditFocus")]
[ExtenderControlProperty]
public string OnFocusCssClass
{
get
{
return GetPropertyValue<string>("OnFocusCssClass", "MaskedEditFocus");
}
set
{
SetPropertyValue<string>("OnFocusCssClass", value);
}
}
[DefaultValue("MaskedEditError")]
[ExtenderControlProperty]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -