Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WinForms / System / WinForms / Design / FileNameEditor.cs / 1 / FileNameEditor.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* */ namespace System.Windows.Forms.Design { using System.Runtime.Serialization.Formatters; using System; using System.ComponentModel; using System.ComponentModel.Design; using System.Design; using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.Drawing; using System.Drawing.Design; using System.Windows.Forms; using Microsoft.Win32; ////// /// public class FileNameEditor : UITypeEditor { private OpenFileDialog openFileDialog; ////// Provides an /// editor for filenames. ////// /// Edits the given object value using the editor style provided by /// GetEditorStyle. A service provider is provided so that any /// required editing services can be obtained. /// [SuppressMessage("Microsoft.Security", "CA2123:OverrideLinkDemandsShouldBeIdenticalToBase")] // everything in this assembly is full trust. public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { Debug.Assert(provider != null, "No service provider; we cannot edit the value"); if (provider != null) { IWindowsFormsEditorService edSvc = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService)); Debug.Assert(edSvc != null, "No editor service; we cannot edit the value"); if (edSvc != null) { if (openFileDialog == null) { openFileDialog = new OpenFileDialog(); InitializeDialog(openFileDialog); } if (value is string) { openFileDialog.FileName = (string)value; } if (openFileDialog.ShowDialog() == DialogResult.OK) { value = openFileDialog.FileName; } } } return value; } ////// /// [SuppressMessage("Microsoft.Security", "CA2123:OverrideLinkDemandsShouldBeIdenticalToBase")] // everything in this assembly is full trust. public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context) { return UITypeEditorEditStyle.Modal; } ///Gets the editing style of the Edit method. If the method /// is not supported, this will return None. ////// /// Initializes the open file dialog when it is created. This gives you /// an opportunity to configure the dialog as you please. The default /// implementation provides a generic file filter and title. /// [SuppressMessage("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters")] protected virtual void InitializeDialog(OpenFileDialog openFileDialog) { openFileDialog.Filter = SR.GetString(SR.GenericFileFilter); openFileDialog.Title = SR.GetString(SR.GenericOpenFile); } } } // 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
- MapPathBasedVirtualPathProvider.cs
- RequestCache.cs
- SectionRecord.cs
- PeerInvitationResponse.cs
- WriteFileContext.cs
- TrackingServices.cs
- Attributes.cs
- PersistChildrenAttribute.cs
- SQLMembershipProvider.cs
- ExpressionBuilder.cs
- ExternalException.cs
- DataSourceCacheDurationConverter.cs
- DataExpression.cs
- MediaEntryAttribute.cs
- TypeConverterHelper.cs
- CompModSwitches.cs
- DetailsViewCommandEventArgs.cs
- baseaxisquery.cs
- UndoUnit.cs
- IFlowDocumentViewer.cs
- WinEventWrap.cs
- ReflectionTypeLoadException.cs
- EditorPartCollection.cs
- SqlNode.cs
- Permission.cs
- DataGridViewCellCollection.cs
- EditingMode.cs
- ProfileGroupSettings.cs
- Paragraph.cs
- TypeConverterMarkupExtension.cs
- BaseCodePageEncoding.cs
- SortQuery.cs
- SerializationInfo.cs
- ApplicationSettingsBase.cs
- Encoder.cs
- XmlCharCheckingReader.cs
- OdbcEnvironmentHandle.cs
- PathTooLongException.cs
- MasterPage.cs
- ComponentCollection.cs
- UnknownBitmapDecoder.cs
- GridViewRow.cs
- MenuTracker.cs
- ExecutionEngineException.cs
- StylusPointProperty.cs
- SymLanguageType.cs
- HideDisabledControlAdapter.cs
- ExpressionVisitor.cs
- GridViewUpdateEventArgs.cs
- FormsAuthenticationConfiguration.cs
- Point3D.cs
- JapaneseCalendar.cs
- QilName.cs
- PolyLineSegmentFigureLogic.cs
- translator.cs
- KeySpline.cs
- TableRowGroupCollection.cs
- StringCollectionEditor.cs
- ComponentDesigner.cs
- DownloadProgressEventArgs.cs
- ActivityStateRecord.cs
- DataRow.cs
- DBSchemaRow.cs
- ObfuscationAttribute.cs
- ReflectionHelper.cs
- ComNativeDescriptor.cs
- Token.cs
- ChangeInterceptorAttribute.cs
- TabItemAutomationPeer.cs
- recordstate.cs
- HtmlControlPersistable.cs
- SmiGettersStream.cs
- NativeRightsManagementAPIsStructures.cs
- _AcceptOverlappedAsyncResult.cs
- CollectionChangedEventManager.cs
- BufferedStream.cs
- MultiSelectRootGridEntry.cs
- UInt32Converter.cs
- Stacktrace.cs
- UnsafeNativeMethods.cs
- XsdValidatingReader.cs
- XmlBindingWorker.cs
- FontResourceCache.cs
- Header.cs
- SiteOfOriginPart.cs
- Condition.cs
- ZoneLinkButton.cs
- SqlInternalConnection.cs
- ArgumentValueSerializer.cs
- CachedFontFamily.cs
- DataGridViewDataConnection.cs
- JpegBitmapEncoder.cs
- ViewRendering.cs
- NavigationPropertyEmitter.cs
- HttpHeaderCollection.cs
- LeaseManager.cs
- DefaultAuthorizationContext.cs
- ServiceReference.cs
- JsonFormatReaderGenerator.cs
- DocumentSequence.cs