/// <summary> /// タスクのパネルサイズが変わった際のイベント /// </summary> /// <param name="sender">Event時Object</param> /// <param name="e">Event時Argument</param> private void FlpViewArea_SizeChanged(object sender, EventArgs e) { // 前回のイベント時と横方向のサイズが変わっていなければこれ以降の処理は不要 if (this.PreFlpViewAreaWidth == this.FlpViewArea.Width) { return; } // 横方向のサイズが変われば、TodoListの幅を追従させる TodoManager todo = TodoManager.GetInstanse(); foreach (Control pnlControl in this.FlpViewArea.Controls) { todo.TodoRelayout((Panel)pnlControl, this.FlpViewArea.Width); } this.PreFlpViewAreaWidth = this.FlpViewArea.Width; }
/// <summary> /// 期限有り時データを作成 /// </summary> /// <param name="flpViewArea">ToDoデータを保持するエリア</param> /// <param name="modify">修正ボタンを押した際の挙動(フォーム部分の変更を行うメソッドを受け取る)</param> /// <param name="contents">内容</param> /// <param name="deadline">期限</param> /// <param name="tobedetermined">未定フラグ</param> /// <returns>true:作成成功, false:作成失敗</returns> private bool Create(FlowLayoutPanel flpViewArea, Action <string, string, string> modify, string contents, DateTime deadline, bool tobedetermined) { // データに不備があれば終了する if (contents == string.Empty) { MessageBox.Show("内容が空欄です"); return(false); } DataType d = new DataType(); d.Contents = contents; d.CreateTime = DateTime.Today; d.Deadline = Convert.ToDateTime(deadline.ToString("yyyy-MM-dd")); // 時間を落とす d.ToBeDetermined = tobedetermined; d.ExecuteUser = Environment.UserName; try { TodoDB db = new TodoDB(); d.Id = db.InsertToDo(d); } catch { throw; } // 表示する Todo todo = new Todo(); Panel panelData = todo.Create(d, this.CompleteTaskStyle, modify); TodoManager todoMG = TodoManager.GetInstanse(); todoMG.TodoRelayout(panelData, flpViewArea.Width); flpViewArea.Controls.Add(panelData); // 並び替えを行う this.RelocateTodo(flpViewArea, d); return(true); }