/// <summary> /// Finalizes editing /// </summary> public void FinalizeEditMode() { if (EditModeItem == null) { return; } WeekPlannerItem itemBuffer = _editModeItem; _editModeItem = null; itemBuffer.Subject = TextBox.Text.Trim(); if (TextBox != null) { TextBox.Visible = false; Controls.Remove(TextBox); TextBox.Dispose(); } if (_editModeItem != null) { Invalidate(); } planner.OnItemTextEdited(new WeekPlannerItemEventArgs(itemBuffer)); _textBox = null; if (State == PlannerState.EditingItemText) { SetState(PlannerState.Idle); } }
/// <summary> /// Activates the edit mode on the specified item /// </summary> /// <param name="item"></param> public void ActivateEditMode(WeekPlannerItem item) { _editModeItem = item; TextBox = new CalendarTextBox(this); TextBox.KeyDown += TextBox_KeyDown; TextBox.LostFocus += TextBox_LostFocus; TextBox.Font = ItemTextFont; Rectangle r = item.Rectangle; r.Location = r.Location + new Size(AutoScrollPosition); r.Inflate(-2, -2); TextBox.Bounds = r; TextBox.BorderStyle = BorderStyle.None; TextBox.Text = item.Subject; TextBox.Multiline = true; Controls.Add(TextBox); TextBox.Visible = true; TextBox.Focus(); TextBox.SelectionStart = TextBox.Text.Length; SetState(PlannerState.EditingItemText); }