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
- TriggerActionCollection.cs
- TextMarkerSource.cs
- BoundField.cs
- NumericUpDownAcceleration.cs
- XmlValueConverter.cs
- AliasGenerator.cs
- _SingleItemRequestCache.cs
- TextBoxRenderer.cs
- UIElementAutomationPeer.cs
- RenderData.cs
- ExtensionWindowHeader.cs
- WebServiceResponse.cs
- TraceData.cs
- CodePageEncoding.cs
- SqlDataRecord.cs
- CharacterMetrics.cs
- StorageRoot.cs
- DetailsViewRowCollection.cs
- SemanticBasicElement.cs
- EdmSchemaAttribute.cs
- BatchParser.cs
- PriorityBinding.cs
- PropertyFilter.cs
- TdsParameterSetter.cs
- XmlNodeChangedEventArgs.cs
- ActivityDesigner.cs
- SByteConverter.cs
- AppSettingsExpressionBuilder.cs
- ProcessHostFactoryHelper.cs
- JapaneseCalendar.cs
- CursorInteropHelper.cs
- HttpProfileGroupBase.cs
- BasicAsyncResult.cs
- System.Data_BID.cs
- ToolStripPanel.cs
- TcpAppDomainProtocolHandler.cs
- ArithmeticException.cs
- ChangePassword.cs
- DataFormats.cs
- ScrollItemProviderWrapper.cs
- CodeDelegateInvokeExpression.cs
- AssemblyBuilder.cs
- WebPartConnectVerb.cs
- IndexOutOfRangeException.cs
- DrawingServices.cs
- SQLDoubleStorage.cs
- XamlStyleSerializer.cs
- TargetInvocationException.cs
- XsltLibrary.cs
- PackagePartCollection.cs
- WorkflowRuntime.cs
- DesignerActionHeaderItem.cs
- TakeQueryOptionExpression.cs
- TextTreeInsertElementUndoUnit.cs
- TargetControlTypeCache.cs
- ListDependantCardsRequest.cs
- WindowHideOrCloseTracker.cs
- TimerEventSubscription.cs
- ConfigXmlElement.cs
- HashCodeCombiner.cs
- DictionaryCustomTypeDescriptor.cs
- MethodCallConverter.cs
- ProcessModelInfo.cs
- Suspend.cs
- RequestSecurityTokenForRemoteTokenFactory.cs
- Parallel.cs
- LayoutSettings.cs
- Tablet.cs
- DbBuffer.cs
- panel.cs
- CellParagraph.cs
- ContractNamespaceAttribute.cs
- DiscoveryMessageSequenceGenerator.cs
- storepermissionattribute.cs
- RegionInfo.cs
- Module.cs
- TouchesOverProperty.cs
- ToolTipService.cs
- GatewayIPAddressInformationCollection.cs
- HttpRuntimeSection.cs
- TextTreeRootTextBlock.cs
- SqlClientWrapperSmiStream.cs
- AQNBuilder.cs
- CodeIndexerExpression.cs
- CodeSnippetExpression.cs
- PublisherMembershipCondition.cs
- Constraint.cs
- UTF8Encoding.cs
- Normalization.cs
- COM2IProvidePropertyBuilderHandler.cs
- StylusPointPropertyId.cs
- DetailsViewDeleteEventArgs.cs
- ConsoleKeyInfo.cs
- ReachDocumentReferenceCollectionSerializer.cs
- WebServiceParameterData.cs
- DocumentApplicationJournalEntry.cs
- TextEditorCopyPaste.cs
- AsyncPostBackTrigger.cs
- MenuItemCollection.cs
- SharedStatics.cs