<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>File selector UITypeEditor</Title>
      <Shortcut>FileselectorUITypeEditor</Shortcut>
      <Description>File selector UITypeEditor [C#]</Description>
      <Author>J.Marc Piulachs</Author>
      <HelpUrl>/PreviewSnippet.aspx?SnippetID=61afeda6-db6d-4c2f-9b31-4041fa55ebd6</HelpUrl>
      <SnippetTypes>
        <SnippetType>SurroundsWith</SnippetType>
      </SnippetTypes>
    </Header>
    <Snippet>
      <Code Language="csharp"><![CDATA[public class FileEditor : UITypeEditor {
    private OpenFileDialog openFileDialog;
    public override object EditValue(ITypeDescriptorContext context,  IServiceProvider  provider, object value) {
        if (openFileDialog == null){
            openFileDialog = new OpenFileDialog();
        }
        openFileDialog.DefaultExt = "dat";
        openFileDialog.Multiselect = false;
        openFileDialog.Title = "Select Attachment";
        openFileDialog.CheckFileExists = true;
        openFileDialog.CheckPathExists = true;
        if (openFileDialog.ShowDialog() == DialogResult.OK)
            return new FileName(openFileDialog.FileName);
        return null;
    }
    public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context) {
        return UITypeEditorEditStyle.Modal;
    }
}]]></Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>