C# チェックボックス、ラジオボタン選択値リストの取得処理

C# サンプルコード プログラミング

返却される選択値のリストはチェックボックス、ラジオボタンにあらかじめ設定したTagの値です。

このプロパティのTagです。(画面起動時にコードで設定しても大丈夫です。)

呼び出し

public List<string> getSelectedCheck(ref Panel panel)

パラメータ

Panelpanelチェックボックスやラジオボタンが配置されたパネル

プログラミング

言語:C#

メソッド

/// <summary>
/// 選択内容取得処理
/// </summary>
/// <param name="panel">パネル</param>
/// <returns>選択リスト</returns>
public List<string> getSelectedCheck(ref Panel panel)
{
    // 選択リストを宣言する
    List<string> selectedList = new List<string>();

    // パネル上のコントロール分ループする
    foreach (Control c in panel.Controls)
    {
        if (c.GetType().Equals(typeof(CheckBox)))
        {
            // チェックボックスの場合
            CheckBox obj = c as CheckBox;
            if (obj.Checked)
            {
                // 選択されているなら選択リストに格納する
                selectedList.Add(obj.Tag.ToString());
            }
        }
        else if (c.GetType().Equals(typeof(RadioButton)))
        {
            // ラジオボタンのの場合
            RadioButton obj = c as RadioButton;
            if (obj.Checked)
            {
                // 選択されているなら選択リストに格納する
                selectedList.Add(obj.Tag.ToString());
            }
        }
    }
    // 選択
    return selectedList;
}

使用例

/// <summary>
/// 画面起動時処理
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void FrmImageConvert_Load(object sender, EventArgs e)
{
    // チェックボックスのTAGに選択時の値をセットする(選択内容取得処理で使用する)
    chkFromBmp.Tag = "bmp";
    chkFromPng.Tag = "png";
    chkFromJpg.Tag = "jpg";
    chkFromTiff.Tag = "tiff";
}

/// <summary>
/// button1クリック時処理
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
    // 変換対象の拡張子で選択された拡張子を取得する
    List<string> extensionsFromList = getSelectedCheck(ref panel1);
}

コメント

タイトルとURLをコピーしました