FlowLayoutPanel
56個のチェックボックスを含むがあります。チェックボックスは、3ステートモードで使用されます。これが楽しい部分です。チェックボックスがチェックされていない場合、それはそれらが使用されておらず、読みやすくするために非表示にできることを意味します。それらを非表示にするには、別のチェックボックスを使用します。ユーザーがチェックボックスをクリックすると、FlowPanelのすべての未使用のチェックボックスがforeach反復を使用して非表示になります。
問題は、それらを非表示にするには、foreach呼び出しに(checkBox.Visible=false
)約2〜3秒かかり、それらを表示する(checkBox.Visible=true
)に0.5秒かかることです。
なぜこれが起こっているのかについての提案はありますか?
private void hideUnusedPinsCheckBoxClick(objest sender, EventArgs e)
{
bool state = !hideUnusedPinsCheckBox.Checked;
foreach(object obj in flowLayoutPanel.Controls)
{
CheckBox cB = (CheckBox)obj;
if(cB.CheckState == CheckState.Unchecked)
cB.Visible=state;
}
}