private void ClassifiersForm_Shown(object sender, EventArgs e) { var classifiers = DebtDAO.GetClassifiers(); classifierBindingSource.DataSource = classifiers; treeView.BeginUpdate(); FillLevel(1, treeView.Nodes, classifiers); treeView.EndUpdate(); if (radioButtonList.Checked) { if (classifierBindingSource.DataSource != null && selectedClassifier != null && 0 <= classifierBindingSource.IndexOf(selectedClassifier)) { classifierBindingSource.Position = classifierBindingSource.IndexOf(selectedClassifier); } } else { if (selectedClassifier != null && cacheNodes.ContainsKey(selectedClassifier.Id)) { TreeNode node = (TreeNode)cacheNodes[selectedClassifier.Id]; treeView.BeginUpdate(); node.EnsureVisible(); treeView.SelectedNode = node; treeView.EndUpdate(); } } }