投稿者 ケンケン  (社会人) 投稿日時 2022/8/10 14:53:34

あるいは、【実際にチェックした順序】に並べたいのであれば、Controls から列挙することは
意味がありません。
   ↑グループ化していれば、チェックした順番に並ぶと思っていました。
  私の考え違いでした。 


その場合は、列挙順を保持するためのコレクションを設けるべきです。
 ↑
 もちょっと考えを巡らしていればよかったのですがその迄の指向に至りませんでした。
 (^^;)

結論から言いますと、
 上からチェックした順番に表示しれました。

 本当にありがとうございました。

因みにこのロジックです。
private List<CheckBox> prefectures = new List<CheckBox>();
private List<CheckBox> checkBoxes;
public Form1()
{
    InitializeComponent();
    checkBoxes = groupBox1.Controls.OfType<CheckBox>().ToList();
    checkBoxes.ForEach(c => c.CheckedChanged += (sende, e) =>
    {
        prefectures.Remove(c);
        if (c.Checked) { prefectures.Add(c); }
    });
}
private void button1_Click(object sender, EventArgs e)
{
    txttorikomi.Text = string.Join(" ", prefectures.Select(c => c.Text));
}