/// <summary> /// 加载历史 /// </summary> private void LoadHistory() { list.Clear(); var history = ColorHistory.Get(); if (history == null || history.Length == 0) { return; } ListViewGroup group = null; var groupTime = DateTime.MinValue; foreach (var item in history.OrderByDescending(item => item.DateTime)) { if (group == null || groupTime != item.DateTime.Date) { group = new ListViewGroup(item.DateTime.ToString("yyyy-MM-dd")); list.Groups.Add(group); groupTime = item.DateTime.Date; } list.Items.Add(RenderItem(item, group)); } }
private void LoadTree() { tree.Nodes.Clear(); new Thread(() => { var years = ColorHistory.GetDateTree().OrderByDescending(i => i.Name); foreach (var year in years) { var yearNode = new TreeNode(year.Name) { Tag = year }; this.InvokeMethod(() => { tree.Nodes.Add(yearNode); }); foreach (var month in ColorHistory.GetDateTree(int.Parse(year.Name)) .OrderByDescending(i => i.Name)) { var monthNode = new TreeNode(month.Name) { Tag = month }; this.InvokeMethod(() => { yearNode.Nodes.Add(monthNode); }); } } this.InvokeMethod(() => { if (tree.Nodes.Count == 0) { return; } var temp = tree.Nodes[0]; temp.ExpandAll(); if (temp.Nodes.Count == 0) { return; } temp = temp.Nodes[0]; temp.ExpandAll(); LoadHistory(temp); }); }) { IsBackground = true }.Start(); }
private static ListViewItem RenderItem(ColorHistory history, ListViewGroup group) { return(new ListViewItem(group) { BackColor = history.Color, ForeColor = ColorUtil.GetContrastColor(history.Color), Text = string.Format("#{0:X2}{1:X2}{2:X2}", history.Color.R, history.Color.G, history.Color.B), Tag = history.Color, ToolTipText = string.Format(@"时间: {0:HH:mm:ss}{1}来源: {2}", history.DateTime, '\n', history.Source == 0 ? "屏幕取色" : "调色板") }); }
/// <summary> /// 加载历史 /// </summary> private void LoadHistory(TreeNode treeNode) { if (treeNode == null) { return; } var node = (DateTreeNode)treeNode.Tag; if (node.ParentYear == 0) { return; } list.Clear(); var history = ColorHistory.Get(node.Path); if (history == null || history.Length == 0) { return; } new Thread(() => { ListViewGroup group = null; var groupTime = DateTime.MinValue; foreach (var item in history.OrderByDescending(item => item.DateTime)) { if (group == null || groupTime != item.DateTime.Date) { group = new ListViewGroup(item.DateTime.ToString("yyyy-MM-dd")); this.InvokeMethod(() => { list.Groups.Add(group); }); groupTime = item.DateTime.Date; } this.InvokeMethod(() => { list.Items.Add(RenderItem(item, group)); }); } }) { IsBackground = true }.Start(); }
private ListViewItem RenderItem(ColorHistory history, ListViewGroup group) { return(new ListViewItem(group) { BackColor = history.Color, ForeColor = ColorUtil.GetContrastColor(history.Color), Text = string.Format("#{0:X2}{1:X2}{2:X2}", history.Color.R, history.Color.G, history.Color.B), Tag = history.Color, ToolTipText = string.Format(resources.GetString("historyTipTpl"), history.DateTime, '\n', history.Source == 0 ? resources.GetString("screen") : resources.GetString("colorPicker")) }); }