返却される選択値のリストはチェックボックス、ラジオボタンにあらかじめ設定したTagの値です。
このプロパティのTagです。(画面起動時にコードで設定しても大丈夫です。)
呼び出し
public List<string> getSelectedCheck(ref Panel panel)
パラメータ
Panel | panel | チェックボックスやラジオボタンが配置されたパネル |
プログラミング
言語: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);
}