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;
///
///
///
/// Provides an
/// editor for filenames.
///
public class FileNameEditor : UITypeEditor {
private OpenFileDialog openFileDialog;
///
///
/// 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;
}
///
///
/// Gets the editing style of the Edit method. If the method
/// is not supported, this will return None.
///
[SuppressMessage("Microsoft.Security", "CA2123:OverrideLinkDemandsShouldBeIdenticalToBase")] // everything in this assembly is full trust.
public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context) {
return UITypeEditorEditStyle.Modal;
}
///
///
/// 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
- EdgeProfileValidation.cs
- DynamicField.cs
- XPathBuilder.cs
- SerialErrors.cs
- EarlyBoundInfo.cs
- XmlBaseReader.cs
- CodeLabeledStatement.cs
- PasswordPropertyTextAttribute.cs
- DataGridViewCellValueEventArgs.cs
- ReachDocumentReferenceSerializer.cs
- TreeViewBindingsEditorForm.cs
- InvokeHandlers.cs
- ObfuscationAttribute.cs
- ConditionalAttribute.cs
- BamlLocalizableResource.cs
- DataGridViewUtilities.cs
- ObjectPersistData.cs
- ZoneLinkButton.cs
- HttpInputStream.cs
- SimpleType.cs
- CoreChannel.cs
- _StreamFramer.cs
- PlaceHolder.cs
- UDPClient.cs
- XmlSerializer.cs
- RuntimeHandles.cs
- SecurityCriticalDataForSet.cs
- CustomAttributeFormatException.cs
- LocationSectionRecord.cs
- MulticastNotSupportedException.cs
- SafeNativeMethodsOther.cs
- TogglePatternIdentifiers.cs
- LayoutEvent.cs
- XsltArgumentList.cs
- TextControlDesigner.cs
- WindowsEditBoxRange.cs
- ToolStripContentPanel.cs
- SchemaAttDef.cs
- TextElementCollectionHelper.cs
- CurrentTimeZone.cs
- AssemblyResourceLoader.cs
- DataMemberFieldConverter.cs
- UIElementParaClient.cs
- ArgIterator.cs
- RsaElement.cs
- PowerModeChangedEventArgs.cs
- Part.cs
- SafeCryptoHandles.cs
- ControlBindingsCollection.cs
- RenderDataDrawingContext.cs
- TextCompositionManager.cs
- FixedSOMPageElement.cs
- XmlQueryOutput.cs
- GradientStop.cs
- FacetDescriptionElement.cs
- TCPClient.cs
- XPathSingletonIterator.cs
- CharacterMetricsDictionary.cs
- WebPartsPersonalization.cs
- GenericUI.cs
- Sql8ConformanceChecker.cs
- EventMetadata.cs
- ScrollViewerAutomationPeer.cs
- PipelineModuleStepContainer.cs
- RegistryPermission.cs
- XPathAncestorQuery.cs
- SqlMethodAttribute.cs
- PropertyBuilder.cs
- HotCommands.cs
- PenContext.cs
- SendMailErrorEventArgs.cs
- PeerOutputChannel.cs
- DocumentGridPage.cs
- Deflater.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- TypeConverterValueSerializer.cs
- Localizer.cs
- ConfigPathUtility.cs
- ColorMap.cs
- CatalogPartDesigner.cs
- HebrewNumber.cs
- MSAAEventDispatcher.cs
- ResXResourceWriter.cs
- InputLanguageManager.cs
- HistoryEventArgs.cs
- WeakReference.cs
- PasswordBox.cs
- EncoderFallback.cs
- XmlSchemaDatatype.cs
- FixedTextView.cs
- Descriptor.cs
- DataControlFieldCollection.cs
- CookielessHelper.cs
- WindowsUpDown.cs
- WorkflowPageSetupDialog.cs
- HitTestDrawingContextWalker.cs
- GenericQueueSurrogate.cs
- BrowserCapabilitiesFactory.cs
- PingOptions.cs
- SqlDeflator.cs