6月 14

DomainUpDownコントロールの使い方

DomainUpDownコントロールは
NumericUpDownコントロールと似ています。
こちらは文字列を扱えます。

ただ、その役割はComboBoxと似ていますし
プルダウン表示がないので一覧が見れず
使い所がよくわかりません。
本当の使い方?が実はあるのかもしれませんが

ここでは
選択肢の追加方法と
選択中の文字列の取得方法のサンプルを書いてみました。

domainupdown

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // ひとつずつ追加
            domainUpDown1.Items.Add("apple");
            domainUpDown1.Items.Add("orange");

            // まとめて追加:その1(配列)
            string[] data = {"melon", "banana"};
            domainUpDown1.Items.AddRange(data);

            // まとめて追加:その2(List<>)
            List list = new List();
            list.Add("itigo");
            list.Add("suika");
            domainUpDown1.Items.AddRange(list);

            // 先頭要素を選択
            domainUpDown1.SelectedIndex = 0;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show(domainUpDown1.Text);
        }
    }
}
6月 14

フォントを選択するダイアログを表示する

フォントを選択するダイアログは
FontDialogコントロールとして既に用意されていますのでこれを利用します。

例としてFormにFontDialogコントロールを配置し
Buttonが押されたらButtonのテキストのフォントを選択するためのダイアログを表示します。

dialog_font

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            // ダイアログを表示
            DialogResult ret = fontDialog1.ShowDialog();

            // OKボタンが押されたらボタンのテキストフォントを変更
            if (ret == DialogResult.OK)
                button1.Font = fontDialog1.Font;
        }
    }
}

主なプロパティー一覧

Color
	選択されたフォントの色
Font
	選択されたフォント
FontMustExist
	規定値:false
	存在しないフォントを選択した場合、警告を表示するか否か
MaxSize
MinSize
	規定値:0
	指定できるフォントの最大サイズと最小サイズ。制限しない場合は0
ShowApply
	規定値:false
	適用ボタンを表示するか否か
ShowColor
	規定値:false
	色の選択を表示するか否か
ShowEffects
	規定値:true
	取り消し線、下線、色の選択などの文字飾りグループを表示するか否か
ShowHelp
	規定値:false
	ヘルプボタンを表示するか否か
6月 14

色を選択するダイアログを表示する

色を選択するダイアログは
ColorDialogコントロールとして既に用意されていますのでこれを利用します。

例としてFormにColorDialogコントロールを配置し
Buttonが押されたらButtonの背景色を選択するためのダイアログを表示します。

dialog_color

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            // 初期カラー設定
            colorDialog1.Color = button1.BackColor;

            // カスタムカラーを設定できるようにするか否か
            colorDialog1.AllowFullOpen = true;

            // ダイアログを表示
            DialogResult ret = colorDialog1.ShowDialog();

            // OKボタンが押されたらボタンの背景色を選択された色に変更
            if (ret == DialogResult.OK)
                button1.BackColor = colorDialog1.Color;
        }
    }
}
6月 14

フォルダを選択ダイアログを表示する

フォルダを選択ダイアログは
FolderBrowserDialogコントロールとして既に用意されていますのでこれを利用します。

例としてFormにFolderBrowserDialogコントロールを配置し
Buttonが押されたらフォルダを選択するためのダイアログを表示します。

dialog_folder

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            // ダイアログに表示する説明文
            folderBrowserDialog1.Description = "フォルダを選択してください。";

            // 新しいフォルダを作るボタンを表示するか否か
            folderBrowserDialog1.ShowNewFolderButton = false;

            // 初期フォルダはどこか(デスクトップが初期値)
            folderBrowserDialog1.RootFolder = Environment.SpecialFolder.Desktop;

            // ダイアログを表示
            DialogResult ret = folderBrowserDialog1.ShowDialog();

            // OKボタンが押されたら選択されたフォルダを表示
            if (ret == DialogResult.OK)
                MessageBox.Show(folderBrowserDialog1.SelectedPath);
        }
    }
}
6月 14

名前を付けて保存ダイアログを表示する

名前を付けて保存ためのダイアログは
SaveFileDialogコントロールとして既に用意されていますのでこれを利用します。

例としてFormにSaveFileDialogコントロールを配置し
Buttonが押されたらファイルを保存するためのダイアログを表示します。

dialog_save

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            // ダイアログのタイトルを指定
            saveFileDialog1.Title = "ファイルを保存";

            // 初期フォルダを指定
            saveFileDialog1.InitialDirectory = @"c:\";

            // 初期ファイル名
            saveFileDialog1.FileName = string.Empty;

            // ファイルが存在するかどうかチェックする
            saveFileDialog1.CheckFileExists = true;

            // 拡張子が入力されなければ自動で付与するか否か
            saveFileDialog1.AddExtension = true;

            // ファイルが既に存在する場合警告するか否か
            saveFileDialog1.OverwritePrompt = true;

            // ファイルの種類、拡張子のフィルターを設定
            saveFileDialog1.Filter =
                "すべてのファイル(*.*)|*.*|" +
                "テキストファイル(*.txt)|*.txt";

            // 初期状態で選択されているフィルターは何番目か
            // インデックスは1からはじまるので注意
            saveFileDialog1.FilterIndex = 2;

            // ダイアログを表示
            DialogResult ret = saveFileDialog1.ShowDialog();

            // 【保存】ボタンで閉じられていれば選択されているファイル名を表示
            if (ret == DialogResult.OK)
                MessageBox.Show(saveFileDialog1.FileName);
        }
    }
}
6月 14

ファイルを開くダイアログを表示する

ファイルを開くためのダイアログは
OpenFileDialogコントロールとして既に用意されていますのでこれを利用します。

例としてFormにOpenFileDialogコントロールを配置し
Buttonが押されたらテキストファイルを開くダイアログを表示してみます。

dialog_open

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            // ダイアログのタイトルを指定
            openFileDialog1.Title = "ファイルを選んでください";

            // 初期フォルダを指定
            openFileDialog1.InitialDirectory = @"c:\";

            // 初期ファイル名
            openFileDialog1.FileName = string.Empty;

            // ファイルが存在するかどうかチェックする
            openFileDialog1.CheckFileExists = true;

            // 複数選択をするか否か
            openFileDialog1.Multiselect = false;

            // ファイルの種類、拡張子のフィルターを設定
            openFileDialog1.Filter =
                "すべてのファイル(*.*)|*.*|" +
                "テキストファイル(*.txt)|*.txt";

            // 初期状態で選択されているフィルターは何番目か
            // インデックスは1からはじまるので注意
            openFileDialog1.FilterIndex = 2;

            // ダイアログを表示
            DialogResult ret = openFileDialog1.ShowDialog();

            // 【開く】ボタンで閉じられていれば選択されているファイル名を表示
            if (ret == DialogResult.OK)
                MessageBox.Show(openFileDialog1.FileName);
        }
    }
}
6月 14

DateTimePickerの使い方

DateTimePickerは日付入力を行う際に便利なコントロールです。
Formに貼り付けるだけですぐに使えます。

日時はDateTime型のValueプロパティーを設定・参照します。

datetimepicker

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // 年月日を設定
            DateTime date = new DateTime(2008,7,31);
            dateTimePicker1.Value = date;
        }
    }
}
6月 14

行を削除する

DataGridViewの行を削除する例です。
RowsコレクションのRemove関数、RemoveAt関数を利用します。

            // 最初の行を削除
            dataGridView1.Rows.RemoveAt(0);

            // 削除する行を指定して削除
            DataGridViewRow row = dataGridView1.Rows[0];
            dataGridView1.Rows.Remove(row);
6月 14

行を追加する

チェックボックスとテキストボックスを列に持つ
DataGridViewの行を追加する例です。

object型の配列で1行分のデータを用意し
それをRowsコレクションのAdd関数で追加しています。

dgv_addrow

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            for(int i = 0; i < 10; i ++)
            {
                object[] row = { true, "りんご" + i.ToString() };
                dataGridView1.Rows.Add(row);
            }
        }
    }
}
6月 14

セルを読み取り専用にする

DataGridViewのセルを読み取り専用にするには
ReadOnlyプロパティーにtrueを設定します。
(解除の場合は逆にfalseを設定)

            // 指定セルを読み取り専用にする
            dataGridView1[0, 0].ReadOnly = true;

            // 全体を読み取り専用にする
            dataGridView1.ReadOnly = true;