RSS

FileSelector UserControl

21 12月
using System;
 using System.Windows.Forms;
namespace UserControlLibrary
 {
 ///

 

/// ファイル・フォルダセレクタ コントロール ///

 

public partial class FileSelectorControl : UserControl
 {
    public FileSelectorControl()
    {
       InitializeComponent();
    }
///

 

/// 表示されるタイトル ///

 

public string Title
{
  get
  {
     return label1.Text;
  }
  set
  {
     label1.Text = value;
  }
 }
///

 

/// コントロールがロードされたとき ///

 

///
 ///
 private void FileSelectorControl_Load(object sender, EventArgs e)
 {
   DialogType = 0;
   Path = "";
   Extension = "";
   Filter = "";
   InitialDirectory = "";
 }
///

 

/// ボタンがクリックされたとき表示するダイアログのタイプ /// 0: OpenFileDialog /// 1: SaveFileDialog /// 2: FolderBrowserDialog ///

 

public int DialogType
 {
   get;
   set;
 }
///

 

/// パス名 ///

 

public string Path
 {
   get
   {
     return textBox1.Text;
   }
   set
   {
     textBox1.Text = value;
   }
 }
///

 

/// OpenFileDialog / SaveFileDialog のFilter ///

 

public string Filter
 {
   get;
   set;
 }
///

 

/// OpenFileDialog / SaveFileDialog のExtension ///

 

public string Extension
 {
 get;
 set;
 }
///

 

/// OpenFileDialog / SaveFileDialog のInitialDirectory ///

 

public string InitialDirectory
 {
 get;
 set;
 }
///

 

/// ボタンがクリックされたとき ///

 

///
 ///
 private void button1_Click(object sender, EventArgs e)
 {
 switch (DialogType)
 {
 case 1: // SaveFileDialog
 saveFileDialog1.FileName = Path;
 saveFileDialog1.InitialDirectory = InitialDirectory;
 saveFileDialog1.Filter = Filter;
 saveFileDialog1.DefaultExt = Extension;
 if (saveFileDialog1.ShowDialog() == DialogResult.OK)
 {
 textBox1.Text = saveFileDialog1.FileName;
 }
 break;
case 2: // FolderBrowserDialog
 if (Path == "")
 {
 folderBrowserDialog1.SelectedPath = InitialDirectory;
 }
 else
 {
 folderBrowserDialog1.SelectedPath = Path;
 }
if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
 {
 textBox1.Text = folderBrowserDialog1.SelectedPath;
 }
 break;
default: // OpenFileDialog
 openFileDialog1.FileName = Path;
 openFileDialog1.InitialDirectory = InitialDirectory;
 openFileDialog1.Filter = Filter;
 openFileDialog1.DefaultExt = Extension;
 if (openFileDialog1.ShowDialog() == DialogResult.OK)
 {
 textBox1.Text = openFileDialog1.FileName;
 }
 break;
 }
 }
///

 

/// ドラッグ開始 ///

 

///
 ///
 private void FileSelectorControl_DragEnter(object sender, DragEventArgs e)
 {
 if (e.Data.GetDataPresent(DataFormats.FileDrop))
 {
 e.Effect = DragDropEffects.Copy;
 }
 }
///

 

/// ドラッグ中 ///

 

///
 ///
 private void FileSelectorControl_DragOver(object sender, DragEventArgs e)
 {
 if (e.Data.GetDataPresent(DataFormats.FileDrop))
 {
 e.Effect = DragDropEffects.Copy;
 }
 }
///

 

/// ドロップ ///

 

///
 ///
 private void FileSelectorControl_DragDrop(object sender, DragEventArgs e)
 {
 if (e.Data.GetDataPresent(DataFormats.FileDrop))
 {
 string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
 textBox1.Text = files[0];
 }
 }
 }
 }
 
コメントする

投稿者: : 2011/12/21 投稿先 C#

 

タグ: ,

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

 
%d人のブロガーが「いいね」をつけました。