'

alswlek의 이미지
mauri의 이미지

프로그램 실행중에 체크를 하는것은 그저 메모리상에 있는 것일 뿐이니까요.
프로그램 실행시에 설정을 읽어들이고, 종료시에 설정을 저장하도록 하시면 됩니다.

뭐 저장법은 여러가지가 있겠지만 그냥 실행경로에 파일로 넣는 것이 제일 좋겠지요.

먼저, FormClose에서 체크박스의 상태를 저장하는 코드를 넣습니다.

System.IO.StreamWriter sw = new System.IO.StreamWriter($설정파일경로, false);

foreach (CheckBox box in CheckBoxs)
{
    // 루프돌면서 체크박스 상태를 저장. 체크된상태면 1 아니면 0
    if (box.Checked)
        sw.Write('1');
    else
        sw.Write('0');
}
sw.Close();

다음으로 FormLoad에서 설정을 읽어들이면 되겠지요.

// 체크박스를 배열에 넣는 코드 다음에...
int pos = 0;
System.IO.StreamReader sr = new System.IO.StreamReader($설정파일경로);

while (sr.Peek() > -1)
{
    // 한자씩 읽어들여서 1이면 체크하기
    if (sr.Read() == '1')
    {
        CheckBoxs[pos].Checked = true;
    }
    pos++;
}
sr.Close();

이런식으로 하면될겁니다.
예외처리(파일이 없다거나 파일 길이가 짧거나 등등)는 일절 넣지 않았으니 예외 처리는 알아서 추가하시면 되겠습니다.