/// <summary> /// Добавляет проект в список создаваемых проектов. /// </summary> /// <param name="project">Создаваемый проект.</param> private void AddProject(IProjectMenuItem project) { if (project == null) throw new ArgumentNullException("Добавляемый проект не может быть неопределенным"); if (!(project is UserControl)) throw new ArgumentException("Проект должен являться пользовательским элементом"); _projects.Add(project); Button btn = new Button(); btn.Text = project.ProjectName; btn.ForeColor = Color.Black; btn.BackColor = Color.WhiteSmoke; btn.UseVisualStyleBackColor = true; btn.Dock = DockStyle.Top; btn.Height = GetItemHeight(); btn.Tag = project; btn.Click += btn_Click; itemsHolder.Controls.Add(btn); btn.TabIndex = createBtn.TabIndex + _projects.Count; btn.BringToFront(); if (_selected == null) SetSelected(project); }
/// <summary> /// Устанавливает элемент в качестве выбранного. /// </summary> /// <param name="item">Устанавливаемый элемент.</param> private void SetSelected(IProjectMenuItem item) { if (item == _selected) return; if(_selected != null) { infoHolder.Controls.RemoveAt(0); } _selected = item; if(_selected != null) { infoHolder.Controls.Add(item as UserControl); (item as UserControl).Dock = DockStyle.Fill; } }