public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType) { if (destinationType == typeof(string)) { Program.Task task = value as Program.Task; return(string.Format("{0},{1},{2},{3}", task.name, task.details, task.time.ToString(), task.alarm.ToString())); } return(base.ConvertTo(context, culture, value, destinationType)); }
public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) { if (value is string) { string[] parts = ((string)value).Split(new char[] { ',' }); Program.Task task = new Program.Task(); task.name = parts[0]; task.details = parts.Length > 1 ? parts[1] : null; task.time = parts.Length > 2 ? Convert.ToDateTime(parts[2]) : System.DateTime.Now; task.alarm = parts.Length > 3 ? Convert.ToDateTime(parts[3]) : System.DateTime.Now; return(task); } return(base.ConvertFrom(context, culture, value)); }
private void changeToTask() { this.periodContents.Width = 266; this.TaskAdd.Visible = true; this.TaskTake.Visible = true; this.TaskEdit.Visible = true; if (Program.getProgram().getTasks(System.DateTime.Now).Count <= 0) { this.title.Text = "None"; this.periodContents.Text = ""; return; } Program.Task currentTask = Program.getProgram().getCurrentTask(System.DateTime.Now); string texts = ""; foreach (Program.Task task in tasks) { texts += task.details + System.Environment.NewLine; } this.toolTip2.SetToolTip(this.periodContents, texts); string timeTo = " - " + (currentTask.time - System.DateTime.Now).ToString().Substring(0, 5); if (currentTask.time.Date == System.DateTime.Now.Date) { if (currentTask.time <= System.DateTime.Now) { timeTo = " - Now"; } } else { timeTo = ""; } if (Properties.Settings.Default.TimeTo) { title.Text = currentTask.name + timeTo; } else { title.Text = currentTask.name; } periodContents.Text = ""; for (int i = 0; i < tasks.Count; i++) { periodContents.Text += tasks[i].name; if (Properties.Settings.Default.Times) { if (Properties.Settings.Default.AMPM) { periodContents.Text += " - " + tasks[i].time.ToString().Replace(":00 ", " "); } else { periodContents.Text += " - " + tasks[i].time.ToString().Replace(":00 ", " ").Replace("AM", "").Replace("PM", ""); } } periodContents.Text += System.Environment.NewLine; } }