Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WinForms / System / WinForms / Design / MaskedTextBoxTextEditorDropDown.cs / 1 / MaskedTextBoxTextEditorDropDown.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Design;
using System.Data;
using System.Text;
using System.Windows.Forms;
namespace System.Windows.Forms.Design
{
internal class MaskedTextBoxTextEditorDropDown : UserControl
{
private bool cancel;
private System.Windows.Forms.MaskedTextBox cloneMtb;
private System.Windows.Forms.ErrorProvider errorProvider;
public MaskedTextBoxTextEditorDropDown(MaskedTextBox maskedTextBox)
{
this.cloneMtb = MaskedTextBoxDesigner.GetDesignMaskedTextBox( maskedTextBox );
this.errorProvider = new System.Windows.Forms.ErrorProvider();
((System.ComponentModel.ISupportInitialize)(this.errorProvider)).BeginInit();
this.SuspendLayout();
//
// maskedTextBox
//
this.cloneMtb.Dock = System.Windows.Forms.DockStyle.Fill;
// Include prompt and literals always so editor can process the text value in a consistent way.
this.cloneMtb.TextMaskFormat = MaskFormat.IncludePromptAndLiterals;
// Escape prompt, literals and space so input is not rejected due to one of these characters.
this.cloneMtb.ResetOnPrompt = true;
this.cloneMtb.SkipLiterals = true;
this.cloneMtb.ResetOnSpace = true;
this.cloneMtb.Name = "MaskedTextBoxClone";
this.cloneMtb.TabIndex = 0;
this.cloneMtb.MaskInputRejected += new System.Windows.Forms.MaskInputRejectedEventHandler(this.maskedTextBox_MaskInputRejected);
this.cloneMtb.KeyDown += new System.Windows.Forms.KeyEventHandler(this.maskedTextBox_KeyDown);
//
// errorProvider
//
this.errorProvider.BlinkStyle = System.Windows.Forms.ErrorBlinkStyle.NeverBlink;
this.errorProvider.ContainerControl = this;
//
// MaskedTextBoxTextEditorDropDown
//
this.Controls.Add(this.cloneMtb);
this.BackColor = System.Drawing.SystemColors.Control;
this.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.Name = "MaskedTextBoxTextEditorDropDown";
this.Padding = new System.Windows.Forms.Padding(16);
this.Size = new System.Drawing.Size(100, 52);
((System.ComponentModel.ISupportInitialize)(this.errorProvider)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
public string Value
{
get
{
if( this.cancel )
{
return null;
}
// Output will include prompt and literals always to be able to get the characters at the right positions in case
// some of them are not set (particularly at lower positions).
return this.cloneMtb.Text;
}
}
protected override bool ProcessDialogKey(Keys keyData)
{
if( keyData == Keys.Escape )
{
this.cancel = true;
}
return base.ProcessDialogKey(keyData);
}
private void maskedTextBox_MaskInputRejected(object sender, MaskInputRejectedEventArgs e)
{
this.errorProvider.SetError(this.cloneMtb, MaskedTextBoxDesigner.GetMaskInputRejectedErrorMessage(e));
}
private void maskedTextBox_KeyDown(object sender, KeyEventArgs e)
{
this.errorProvider.Clear();
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- BatchStream.cs
- ExceptionHandlers.cs
- DecodeHelper.cs
- TagNameToTypeMapper.cs
- SqlMethods.cs
- ErrorTableItemStyle.cs
- ResetableIterator.cs
- GZipUtils.cs
- DependencyObjectProvider.cs
- SectionInformation.cs
- ExpressionPrefixAttribute.cs
- DataGridRow.cs
- Color.cs
- KoreanLunisolarCalendar.cs
- DependencyObjectProvider.cs
- InputScopeManager.cs
- CheckPair.cs
- WSHttpBindingCollectionElement.cs
- AccessDataSourceDesigner.cs
- EmptyElement.cs
- InvalidEnumArgumentException.cs
- ResolveMatchesMessage11.cs
- WizardForm.cs
- WorkflowPageSetupDialog.cs
- FixedSOMPageConstructor.cs
- LoginView.cs
- FixedDocument.cs
- PersonalizableTypeEntry.cs
- Int16AnimationBase.cs
- PolicyException.cs
- LocalizabilityAttribute.cs
- TextBoxBase.cs
- AggregateNode.cs
- NetDispatcherFaultException.cs
- ImageSourceValueSerializer.cs
- GridView.cs
- SecurityTokenResolver.cs
- RegistryKey.cs
- XmlObjectSerializer.cs
- VisualStateManager.cs
- ITreeGenerator.cs
- SystemNetworkInterface.cs
- ItemChangedEventArgs.cs
- XmlILIndex.cs
- AgileSafeNativeMemoryHandle.cs
- FontDifferentiator.cs
- DecimalFormatter.cs
- Rectangle.cs
- DesignerTextWriter.cs
- PropertyChangedEventManager.cs
- LinkedResourceCollection.cs
- BinHexDecoder.cs
- MouseGesture.cs
- ExpressionList.cs
- DataSourceHelper.cs
- MimeReturn.cs
- GraphicsContainer.cs
- AnnotationObservableCollection.cs
- DefaultTextStore.cs
- VideoDrawing.cs
- SizeChangedEventArgs.cs
- XslAstAnalyzer.cs
- BitmapData.cs
- RegexGroup.cs
- VectorAnimation.cs
- HttpModule.cs
- InternalDuplexChannelFactory.cs
- ComplexObject.cs
- MetadataItemSerializer.cs
- Simplifier.cs
- SqlProviderManifest.cs
- TextCompositionManager.cs
- EventSourceCreationData.cs
- CollectionChange.cs
- SelectionUIService.cs
- ImageBrush.cs
- ChangeBlockUndoRecord.cs
- SettingsBase.cs
- FontFamilyConverter.cs
- FaultReasonText.cs
- DataGridColumnCollection.cs
- Transform3D.cs
- XmlSignatureManifest.cs
- BooleanSwitch.cs
- XPathDocumentNavigator.cs
- Events.cs
- InstanceCreationEditor.cs
- OrderPreservingMergeHelper.cs
- XmlQueryStaticData.cs
- FragmentQuery.cs
- keycontainerpermission.cs
- TextSegment.cs
- ButtonBaseAutomationPeer.cs
- BulletedList.cs
- WebContentFormatHelper.cs
- DragEventArgs.cs
- XmlQuerySequence.cs
- SchemaCollectionCompiler.cs
- TemplateDefinition.cs
- ControlParameter.cs