需要手动来保持勾选状态,代码如下:
private ArrayList m_chklist = new ArrayList();
private void tabControl1_SelectedIndexChanged(object sender, System.EventArgs e)
{
if(this.tabControl1.SelectedIndex == 1)
{
int count = this.chklistDept.Items.Count;
m_chklist.Clear();
for(int i=0;i<count;i++)
{
this.m_chklist.Add(this.chklistDept.GetItemChecked(i));
}
}
else
{
for(int i=0;i<m_chklist.Count;i++)
{
this.chklistDept.SetItemChecked(i,Convert.ToBoolean(m_chklist[i]));
}
}
}
private void tabControl1_SelectedIndexChanged(object sender, System.EventArgs e)
{
if(this.tabControl1.SelectedIndex == 1)
{
int count = this.chklistDept.Items.Count;
m_chklist.Clear();
for(int i=0;i<count;i++)
{
this.m_chklist.Add(this.chklistDept.GetItemChecked(i));
}
}
else
{
for(int i=0;i<m_chklist.Count;i++)
{
this.chklistDept.SetItemChecked(i,Convert.ToBoolean(m_chklist[i]));
}
}
}