タイトル
 メニューにないコーナーはTopからいけます
TOP.NETWindowsForm → This Page

.NET プログラミングのコーナー
クラス関連 > コントロール関連 > ダイアログ


概要


各ダイアログの使い方のサンプルです。


サンプルイメージ


サンプル画像


サンプルソース(一部抜粋)

C#

// ファイルを開く(1つのみ)
private void Button1_Click(object sender, System.EventArgs e)
{
	OpenFileDialog ofd;

	ListBox1.Items.Clear();

	ofd = new OpenFileDialog();

	ofd.Title = "ファイルを選択してください";
	ofd.FileName = "TEST.TXT";      // 初期表示ファイル名
	ofd.InitialDirectory = "C:\\";  // 初期表示フォルダ
	ofd.Filter = "TXTファイル|*.txt|CSVファイル|*.csv|すべてのファイル|*.*";  // ファイルの種類
	ofd.FilterIndex = 0;            // 上記フィルタのどれを初期表示するか(今回はゼロなのでTXTが初期表示される)

	ofd.RestoreDirectory = true;    // ダイアログボックスを閉じる前に、現在のディレクトリを復元する
	ofd.CheckFileExists = true;     // 存在しないファイルを指定すると警告
	ofd.CheckPathExists = true;     // 存在しないパスを指定すると警告
	ofd.DereferenceLinks = true;    // ショートカットを選択した場合、参照先のパスを取得する(Falseだとショートカットファイルそのものを取得)

	ofd.DefaultExt = "TXT";
	ofd.AddExtension = true;        // 選択時に拡張子を省略した場合、DefaultExtで指定した拡張子が自動的に付けられる

	// ダイアログを表示
	if (ofd.ShowDialog() == DialogResult.OK)
	{
		//ファイルが選択された場合のみ、選択ファイルのパスを表示
		ListBox1.Items.Add(ofd.FileName);
	}

	ofd = null;
}

// ファイルを開く(複数選択)
private void Button2_Click(object sender, System.EventArgs e)
{
	OpenFileDialog ofd;

	ListBox1.Items.Clear();

	ofd = new OpenFileDialog();

	ofd.Title = "ファイルを選択してください";
	ofd.FileName = "TEST.TXT";     // 初期表示ファイル名
	ofd.InitialDirectory = "C:\\"; //初 期表示フォルダ
	ofd.Filter = "TXTファイル|*.txt|CSVファイル|*.csv|すべてのファイル|*.*";  // ファイルの種類
	ofd.FilterIndex = 0;           // 上記フィルタのどれを初期表示するか(今回はゼロなのでTXTが初期表示される)

	ofd.RestoreDirectory = true;   // ダイアログボックスを閉じる前に、現在のディレクトリを復元する
	ofd.CheckFileExists = true;    // 存在しないファイルを選択すると警告
	ofd.CheckPathExists = true;    // 存在しないパスを選択すると警告
	ofd.DereferenceLinks = true;   // ショートカットを選択した場合、参照先のパスを取得する(Falseだとショートカットファイルそのものを取得)

	ofd.DefaultExt = "TXT";
	ofd.AddExtension = true;       // 選択時に拡張子を省略した場合、DefaultExtで指定した拡張子が自動的に付けられる

	ofd.Multiselect = true;        // 複数選択可能

	// ダイアログを表示
	if (ofd.ShowDialog() == DialogResult.OK)
	{
		// ファイルが選択された場合のみ、選択ファイルのパスを表示
		foreach (string strFilePath in ofd.FileNames)
		{
			ListBox1.Items.Add(strFilePath);
		}
	}

	ofd = null;
}

// ファイルを保存
private void Button3_Click(object sender, System.EventArgs e)
{
	SaveFileDialog sfd;

	sfd = new SaveFileDialog();

	ListBox1.Items.Clear();

	sfd.Title = "ファイルを選択してください";
	sfd.FileName = "TEST.TXT";     // 初期表示ファイル名
	sfd.InitialDirectory = "C:\\"; // 初期表示フォルダ
	sfd.Filter = "TXTファイル|*.txt|CSVファイル|*.csv|すべてのファイル|*.*";  //ファイルの種類
	sfd.FilterIndex = 0;           // 上記フィルタのどれを初期表示するか(今回はゼロなのでTXTが初期表示される)

	sfd.RestoreDirectory = true;   // ダイアログボックスを閉じる前に、現在のディレクトリを復元する
	sfd.CheckPathExists = true;    // 存在しないパスを選択すると警告
	sfd.OverwritePrompt = true;    // 存在するファイルを選択すると上書き確認メッセージを表示

	// ダイアログを表示
	if (sfd.ShowDialog() == DialogResult.OK)
	{
		// ファイルが選択された場合のみ、選択ファイルのパスを表示
		ListBox1.Items.Add(sfd.FileName);
	}
}

// フォルダを選択
private void Button4_Click(object sender, System.EventArgs e)
{
	FolderBrowserDialog fbd;

	fbd = new FolderBrowserDialog();

	ListBox1.Items.Clear();

	fbd.Description = "フォルダを選択して下さい";
	fbd.RootFolder = Environment.SpecialFolder.Desktop;  // 初期表示フォルダ
	fbd.ShowNewFolderButton = true;  // フォルダの新規作成ボタンを表示する

	// ダイアログを表示
	if (fbd.ShowDialog() == DialogResult.OK)
	{
		// フォルダが選択された場合のみ、選択フォルダのパスを表示
		ListBox1.Items.Add(fbd.SelectedPath);
	}

	fbd = null;
}

// フォントを選択
private void Button5_Click(object sender, System.EventArgs e)
{
	FontDialog fd;

	fd = new FontDialog();

	fd.Font = ListBox1.Font;        // 初期表示フォント
	fd.Color = ListBox1.ForeColor;  // 初期表示カラー
	fd.MinSize = 8;                 // 選択可能な最小フォントサイズ
	fd.MaxSize = 20;                // 選択可能な最大フォントサイズ

	fd.AllowVerticalFonts = false;  // 横書きフォントだけを表示
	fd.ShowColor = true;            // 色も選択可
	fd.ShowEffects = true;          // 取り消し線、下線、テキストの色なども指定可
	fd.FontMustExist = true;        // 存在しないフォントを選択すると警告
	fd.FixedPitchOnly = false;      // 固定ピッチフォント以外も表示
	fd.AllowVectorFonts = true;     // ベクターフォントも選択可

	// ダイアログを表示
	if (fd.ShowDialog() != DialogResult.Cancel)
	{
		ListBox1.Font = fd.Font;
		ListBox1.ForeColor = fd.Color;
		ListBox1.Items.Add("フォント用サンプルテキスト");
	}

	fd = null;
}

// 色を選択
private void Button6_Click(object sender, System.EventArgs e)
{
	ColorDialog cd = new ColorDialog();

	cd = new ColorDialog();

	cd.Color = ListBox1.BackColor;    // 初期表示色
	cd.AllowFullOpen = true;          // 「色の作成」を表示可
	cd.SolidColorOnly = false;        // 純色以外も選択可
	cd.FullOpen = true;               // カスタムカラー作成用コントロールも表示

	//「作成した色」に指定色を追加表示
	cd.CustomColors = new int[] {6916092, 15195440, 16107657, 1836924, 3758726, 12566463, 7526079, 7405793, 6945974, 241502, 2296476, 5130294, 3102017, 7324121, 14993507, 11730944};

	// ダイアログを表示
	if (cd.ShowDialog() == DialogResult.OK)
	{
		ListBox1.BackColor = cd.Color;
	}

	cd = null;
}

// 印刷ダイアログ
private void Button7_Click(object sender, System.EventArgs e)
{
	System.Drawing.Printing.PrintDocument pDoc = new System.Drawing.Printing.PrintDocument();
	PrintDialog pd;

	pd = new PrintDialog();

	pd.Document = pDoc;

	pd.AllowPrintToFile = true;  // ファイル出力を選択可能
	pd.AllowSomePages = true;    // ページ指定を選択可能
	pd.AllowSelection = true;    // 選択部分を選択可能

	// ダイアログを表示
	if (pd.ShowDialog() == DialogResult.OK)
	{
		MessageBox.Show("印刷します(TESTなので実際にはしません)");
	}

	pd = null;
}


--------------------------------------------------------------------------------
VB.NET

'ファイルを開く(1つのみ)
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim ofd As OpenFileDialog

    ListBox1.Items.Clear()

    ofd = New OpenFileDialog

    ofd.Title = "ファイルを選択してください"
    ofd.FileName = "TEST.TXT"     '初期表示ファイル名
    ofd.InitialDirectory = "C:\"  '初期表示フォルダ
    ofd.Filter = "TXTファイル|*.txt|CSVファイル|*.csv|すべてのファイル|*.*"  'ファイルの種類
    ofd.FilterIndex = 0           '上記フィルタのどれを初期表示するか(今回はゼロなのでTXTが初期表示される)

    ofd.RestoreDirectory = True   'ダイアログボックスを閉じる前に、現在のディレクトリを復元する
    ofd.CheckFileExists = True    '存在しないファイルを指定すると警告
    ofd.CheckPathExists = True    '存在しないパスを指定すると警告
    ofd.DereferenceLinks = True   'ショートカットを選択した場合、参照先のパスを取得する(Falseだとショートカットファイルそのものを取得)

    ofd.DefaultExt = "TXT"
    ofd.AddExtension = True       '選択時に拡張子を省略した場合、DefaultExtで指定した拡張子が自動的に付けられる

    'ダイアログを表示
    If ofd.ShowDialog() = DialogResult.OK Then
        'ファイルが選択された場合のみ、選択ファイルのパスを表示
        ListBox1.Items.Add(ofd.FileName)
    End If

    ofd = Nothing
End Sub

'ファイルを開く(複数選択)
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    Dim ofd As OpenFileDialog
    Dim strFilePath As String


    ListBox1.Items.Clear()

    ofd = New OpenFileDialog

    ofd.Title = "ファイルを選択してください"
    ofd.FileName = "TEST.TXT"     '初期表示ファイル名
    ofd.InitialDirectory = "C:\"  '初期表示フォルダ
    ofd.Filter = "TXTファイル|*.txt|CSVファイル|*.csv|すべてのファイル|*.*"  'ファイルの種類
    ofd.FilterIndex = 0           '上記フィルタのどれを初期表示するか(今回はゼロなのでTXTが初期表示される)

    ofd.RestoreDirectory = True   'ダイアログボックスを閉じる前に、現在のディレクトリを復元する
    ofd.CheckFileExists = True    '存在しないファイルを選択すると警告
    ofd.CheckPathExists = True    '存在しないパスを選択すると警告
    ofd.DereferenceLinks = True   'ショートカットを選択した場合、参照先のパスを取得する(Falseだとショートカットファイルそのものを取得)

    ofd.DefaultExt = "TXT"
    ofd.AddExtension = True       '選択時に拡張子を省略した場合、DefaultExtで指定した拡張子が自動的に付けられる

    ofd.Multiselect = True        '複数選択可能

    'ダイアログを表示
    If ofd.ShowDialog() = DialogResult.OK Then
        'ファイルが選択された場合のみ、選択ファイルのパスを表示
        For Each strFilePath In ofd.FileNames
            ListBox1.Items.Add(strFilePath)
        Next
    End If

    ofd = Nothing
End Sub

'ファイルを保存
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
    Dim sfd As SaveFileDialog

    sfd = New SaveFileDialog

    ListBox1.Items.Clear()

    sfd.Title = "ファイルを選択してください"
    sfd.FileName = "TEST.TXT"     '初期表示ファイル名
    sfd.InitialDirectory = "C:\"  '初期表示フォルダ
    sfd.Filter = "TXTファイル|*.txt|CSVファイル|*.csv|すべてのファイル|*.*"  'ファイルの種類
    sfd.FilterIndex = 0           '上記フィルタのどれを初期表示するか(今回はゼロなのでTXTが初期表示される)

    sfd.RestoreDirectory = True   'ダイアログボックスを閉じる前に、現在のディレクトリを復元する
    sfd.CheckPathExists = True    '存在しないパスを選択すると警告
    sfd.OverwritePrompt = True    '存在するファイルを選択すると上書き確認メッセージを表示

    'ダイアログを表示
    If sfd.ShowDialog() = DialogResult.OK Then
        'ファイルが選択された場合のみ、選択ファイルのパスを表示
        ListBox1.Items.Add(sfd.FileName)
    End If
End Sub

'フォルダを選択
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
    Dim fbd As FolderBrowserDialog

    fbd = New FolderBrowserDialog

    ListBox1.Items.Clear()

    fbd.Description = "フォルダを選択して下さい"
    fbd.RootFolder = Environment.SpecialFolder.Desktop  '初期表示フォルダ
    fbd.ShowNewFolderButton = True  'フォルダの新規作成ボタンを表示する

    'ダイアログを表示
    If fbd.ShowDialog() = DialogResult.OK Then
        'フォルダが選択された場合のみ、選択フォルダのパスを表示
        ListBox1.Items.Add(fbd.SelectedPath)
    End If

    fbd = Nothing
End Sub

'フォントを選択
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
    Dim fd As FontDialog

    fd = New FontDialog

    fd.Font = ListBox1.Font        '初期表示フォント
    fd.Color = ListBox1.ForeColor  '初期表示カラー
    fd.MinSize = 8                 '選択可能な最小フォントサイズ
    fd.MaxSize = 20                '選択可能な最大フォントサイズ

    fd.AllowVerticalFonts = False  '横書きフォントだけを表示
    fd.ShowColor = True            '色も選択可
    fd.ShowEffects = True          '取り消し線、下線、テキストの色なども指定可
    fd.FontMustExist = True        '存在しないフォントを選択すると警告
    fd.FixedPitchOnly = False      '固定ピッチフォント以外も表示
    fd.AllowVectorFonts = True     'ベクターフォントも選択可

    'ダイアログを表示
    If fd.ShowDialog() <> DialogResult.Cancel Then
        ListBox1.Font = fd.Font
        ListBox1.ForeColor = fd.Color
        ListBox1.Items.Add("フォント用サンプルテキスト")
    End If

    fd = Nothing
End Sub

'色を選択
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
    Dim cd As New ColorDialog

    cd = New ColorDialog

    cd.Color = ListBox1.BackColor    '初期表示色
    cd.AllowFullOpen = True          '「色の作成」を表示可
    cd.SolidColorOnly = False        '純色以外も選択可
    cd.FullOpen = True               'カスタムカラー作成用コントロールも表示

    '「作成した色」に指定色を追加表示
    cd.CustomColors = New Integer() {6916092, 15195440, 16107657, 1836924, 3758726, 12566463, 7526079, 7405793, _
                                    6945974, 241502, 2296476, 5130294, 3102017, 7324121, 14993507, 11730944}

    'ダイアログを表示
    If cd.ShowDialog() = DialogResult.OK Then
        ListBox1.BackColor = cd.Color
    End If

    cd = Nothing
End Sub

'印刷ダイアログ
Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
    Dim pDoc As New System.Drawing.Printing.PrintDocument
    Dim pd As PrintDialog

    pd = New PrintDialog

    pd.Document = pDoc

    pd.AllowPrintToFile = True  'ファイル出力を選択可能
    pd.AllowSomePages = True    'ページ指定を選択可能
    pd.AllowSelection = True    '選択部分を選択可能

    'ダイアログを表示
    If pd.ShowDialog() = DialogResult.OK Then
        MsgBox("印刷します(TESTなので実際にはしません)")
    End If

    pd = Nothing
End Sub

サンプルソースのダウンロード


ソースのダウンロード


TOP.NETWindowsForm → This Page
Valid CSS!