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
- SqlReferenceCollection.cs
- DragSelectionMessageFilter.cs
- SafeSecurityHelper.cs
- DataSetMappper.cs
- XmlSchemaInfo.cs
- TextTreeInsertElementUndoUnit.cs
- DataTemplate.cs
- DesignerActionHeaderItem.cs
- Resources.Designer.cs
- UIPropertyMetadata.cs
- DrawingGroupDrawingContext.cs
- XamlSerializerUtil.cs
- ConstructorNeedsTagAttribute.cs
- DispatcherSynchronizationContext.cs
- DataSvcMapFile.cs
- FrameSecurityDescriptor.cs
- BlockCollection.cs
- BaseTemplateCodeDomTreeGenerator.cs
- ExceptionRoutedEventArgs.cs
- IPPacketInformation.cs
- DSASignatureDeformatter.cs
- DbProviderSpecificTypePropertyAttribute.cs
- RankException.cs
- ExpressionTextBox.xaml.cs
- BrushConverter.cs
- Journal.cs
- UserPersonalizationStateInfo.cs
- AppSecurityManager.cs
- XmlSchemaSubstitutionGroup.cs
- TextBox.cs
- Misc.cs
- ObjectReaderCompiler.cs
- ExtendedProtectionPolicyTypeConverter.cs
- FixedSOMTableRow.cs
- MetadataResolver.cs
- ZipFileInfo.cs
- DataTable.cs
- RecognizerBase.cs
- HTMLTextWriter.cs
- BaseValidator.cs
- DataColumnSelectionConverter.cs
- ClassHandlersStore.cs
- IndexOutOfRangeException.cs
- DataPagerFieldCommandEventArgs.cs
- DateTimeUtil.cs
- ClockController.cs
- TypeResolvingOptionsAttribute.cs
- ResourceKey.cs
- ServiceOperation.cs
- MediaContextNotificationWindow.cs
- ActivityDesignerAccessibleObject.cs
- MergeFailedEvent.cs
- HuffmanTree.cs
- Timer.cs
- XmlObjectSerializerWriteContextComplex.cs
- EntityTypeEmitter.cs
- AccessText.cs
- DependsOnAttribute.cs
- XmlReturnReader.cs
- HttpsHostedTransportConfiguration.cs
- XmlImplementation.cs
- XmlWriterDelegator.cs
- PieceNameHelper.cs
- DbParameterCollectionHelper.cs
- SamlDoNotCacheCondition.cs
- CategoryNameCollection.cs
- VisualTransition.cs
- SqlDependency.cs
- PromptEventArgs.cs
- SiteMapNodeItem.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- XXXInfos.cs
- TraceContext.cs
- ResourcesBuildProvider.cs
- StyleHelper.cs
- CertificateManager.cs
- ListChangedEventArgs.cs
- StrongNameKeyPair.cs
- ShimAsPublicXamlType.cs
- DataGridTemplateColumn.cs
- ReferenceEqualityComparer.cs
- FileLoadException.cs
- StrokeNodeData.cs
- DoubleAnimationUsingPath.cs
- RemotingConfiguration.cs
- CommonDialog.cs
- ToolStripPanel.cs
- UxThemeWrapper.cs
- SortFieldComparer.cs
- LightweightCodeGenerator.cs
- DotNetATv1WindowsLogEntryDeserializer.cs
- Win32.cs
- GlobalizationSection.cs
- WaitHandleCannotBeOpenedException.cs
- DataStreamFromComStream.cs
- AppSettingsReader.cs
- ServiceObjectContainer.cs
- PasswordRecoveryDesigner.cs
- HandleExceptionArgs.cs
- ScrollPattern.cs