private void Init(ProjectItem project, TaskItem parentTaskItem, int taskLevel = 0, string name = "task", MyTask myTask = null) { this.Dock = DockStyle.Top; if (myTask == null) { this.Task = new MyTask(name, taskLevel); } else { this.Task = myTask; } this.Task.Level = taskLevel; this.TaskName = name; this.ProjectItem = project; this.ParentTaskItem = parentTaskItem; //Инициализируем панель для подзадач InitPanel(); this.SubTaskItems = new ObservableCollection <TaskItem>(); //Добавляем обработчик события изменения коллекции подзадач this.SubTaskItems.CollectionChanged -= SubTasks_CollectionChanged; this.SubTaskItems.CollectionChanged += SubTasks_CollectionChanged; //спрячем кнопку свернуть/развернуть //HelperForm.DeactivateControl(this.OpenCloseArrow); HelperForm.ActivateControl(this.OpenCloseArrow); this.OpenCloseArrow.BackgroundImage = null; this.ClickEventHandler = TaskItem_OnClick; this.DoubleClickEventHandler = TaskItem_OnDoubleClick; }
/// <summary> /// Пользователь выбрал другой проект, нужно выделить визуально выбранный проект. /// </summary> /// <param name="proj"></param> private void ChangeSelectedProjectItem(ProjectItem proj, bool loadDataForSelectedProject = true) { if (Equals(this.SelectedProjectItem, proj) == false) { if (SelectedProjectItem != null) { HelperForm.DeactivateControl(this.SelectedProjectItem.TasksPanel); } ProjectItem prevSelectedProjectItem = this.SelectedProjectItem; HelperForm.ActivateControl(proj.TasksPanel); this.SelectedProjectItem = proj; //Убрать выделение у предыдущего активного проекта. prevSelectedProjectItem?.VisualDeactivateProject(); //Визуально выделить активный проект. this.SelectedProjectItem?.VisualActivateProject(); } //Нужно поменять текст в поле ProjectNameLabel this.ProjectNameLabel.Text = this.SelectedProjectItem.Project.Name; //Если проект не имеет задач, вероятно нужно загрузить задачи if (loadDataForSelectedProject && this.SelectedProjectItem.MainProjectTaskRoot.SubTaskItems.Count == 0) { if (this._selecteProjectItem != null) { this.LoadProjectDataFromFile(ref this._selecteProjectItem); } } }
/// <summary> /// Свернуть/развернуть подзадачи /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OpenCloseArrow_CheckedChanged(object sender, EventArgs e) { CheckBox box = sender as CheckBox; if (this.SubTaskItems == null) { return; } if (this.SubTaskItems.Count == 0 && this.Task.SubTasks.Count == 0) { box.BackgroundImage = null; return; } box.BackColor = Color.Transparent; if (box.Checked == true) { //Меняем картинку у чек-бокса box.BackgroundImage = Resources.downArrow; HelperForm.ActivateControl(this.SubTaskPanel); this.Task.Revealed = true; } else { //Меняем картинку у чек-бокса box.BackgroundImage = Resources.rightArrow; HelperForm.DeactivateControl(this.SubTaskPanel); this.Task.Revealed = false; } }
/// <summary> /// Поменять пароль /// </summary> private void ChangePassword() { //Деактивируем все элементы внутри основной панели foreach (var childControl in formPanel.Controls) { var c = (Control)childControl; HelperForm.DeactivateControl(c); } //Активируем панель смены пароля HelperForm.ActivateControl(PasswordPanel); HelperForm.DeactivateControl(InputPasswordPanel); HelperForm.ActivateControl(SetNewPasswordPanel); }
private void SetBroadenSize() { if (this.Width == this.showWidth && this.Height == this.showHeight && this.Left == this.centerLeft) { return; } HelperForm.ActivateControl(this.ContentPanel); this.Width = this.showWidth; this.Height = this.showHeight; this.Left = this.centerLeft; this.Top = -2; }
//активация понели чтения существующих записей private void btnOpenStoragePanel_Click(object sender, EventArgs e) { HelperForm.DeactivateControl(this.TabWriterPanel); HelperForm.ActivateControl(this.TabReaderPanel); //Обновим список документов, может уже появился новый документ if (this.listBoxDocuments.Items == null || this.listBoxDocuments.Items.Count == 0) { this.LoadListDocuments(); return; } //здесь listBoxDocuments.Items != null; //если имя последнего файла не схоже с первой записью в дневнике if (this.GetDiaryFiles().Count != this.listBoxDocuments.Items.Count || GetLastDiaryFilePath(this.storyDirectory).IndexOf(this.listBoxDocuments.Items[0].ToString()) < 0) { this.LoadListDocuments(); } }
private void AuthentificateUser() { //Установим первоначальное состояние панелей HelperForm.ActivateControl(this.PasswordPanel); HelperForm.DeactivateControl(this.SetNewPasswordPanel); HelperForm.DeactivateControl(this.InputPasswordPanel); //Если нет пароля, то создадим его if (string.IsNullOrEmpty(AppVariables.PASSWORD_APP_SETTING)) { //Активируем панель для создания пароля HelperForm.ActivateControl(this.SetNewPasswordPanel); } //Если пароль существует, то войдем в приложение else { //Активируем панель для ввода пароля HelperForm.ActivateControl(this.InputPasswordPanel); } }
///Обработчик события нажатия TabButtons private void TabClick_EventHandler(object sender, EventArgs e) { if ((sender is RadioButton) == false) { return; } var radio = sender as RadioButton; if (radio.Checked == true) { HelperForm.ActivateControl(TabList[radio]); //Активируем курсор в текстовом поле TabList[radio].Select(); } else { HelperForm.DeactivateControl(TabList[radio]); } }
/// <summary> /// горячие клавиши /// </summary> protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { //ctrl + shift + 0 (Дать внеочередной доступ к программе) if (keyData == (Keys.Control | Keys.Shift | Keys.D0)) { GiveAccess(); } //Hide/Show form if (keyData == (Keys.Control | Keys.H)) { if (formPanel.Enabled) { HelperForm.DeactivateControl(this.formPanel); } else { HelperForm.ActivateControl(this.formPanel); } } return(base.ProcessCmdKey(ref msg, keyData)); }
//активация панели для для записи private void btnOpenWritePanel_Click(object sender, EventArgs e) { HelperForm.DeactivateControl(this.TabReaderPanel); HelperForm.ActivateControl(this.TabWriterPanel); }
private void ActivateIdeaDataSearchPanel() { HelperForm.DeactivateControl(CreateIdeaPanel); HelperForm.ActivateControl(SearchShowIdeaPanel); }