コード:
private void checkBox2_CheckedChanged(object sender, EventArgs e)
{
crawlLocaly1 = new CrawlLocaly();
crawlLocaly1.StartPosition = FormStartPosition.CenterParent;
OptionsDB.Set_localOnly(checkBox2.Checked);
if (checkBox2.Checked)
{
DialogResult dr = crawlLocaly1.ShowDialog(this);
if (dr == DialogResult.Cancel)
{
crawlLocaly1.Close();
}
else if (dr == DialogResult.OK)
{
LocalyKeyWords.Add(crawlLocaly1.getText());
crawlLocaly1.Close();
}
removeExt = true;
}
else
{
removeExt = false;
}
}
この行:
OptionsDB.Set_localOnly(checkBox2.Checked);
チェックされているかどうかにかかわらず、checkBox2 の状態を保存します。次回プログラムを実行するときにチェックすると、checkBox2チェックボックスにVが表示されます。次回プログラムを実行するときにcheckBoxのチェックを外すと、checkBox2のボックスがチェックされなくなります。
問題は、checkBox2をチェックしてプログラムを閉じて再度実行すると、checkBoxがチェックされているため、何らかの理由で次のようになることです。
DialogResult dr = crawlLocaly1.ShowDialog(this);
これにより、新しいフォームが開き、ユーザーに表示されます。しかし、私はそれがそのようであってほしくない。
プログラムの実行中にユーザーがチェックボックスをオンにすると、新しいフォームが表示されます。しかし、ユーザーがプログラムを最初から実行していて、checkBox がチェックされている場合は、新しいフォームを表示しないでください。checkBox がチェックされていることだけを示してください。
どうすれば直せますか?