diff --git a/Bin/net40/Setting.ini b/Bin/net40/Setting.ini new file mode 100644 index 00000000..75339192 --- /dev/null +++ b/Bin/net40/Setting.ini @@ -0,0 +1,8 @@ +; + +[Setup] +ImagePath= +TCPPort=0 +APIPort=0 +IP=111.1.1.1 + diff --git a/Bin/net40/SunnyUI.Demo.exe b/Bin/net40/SunnyUI.Demo.exe index 0662669b..07200793 100644 Binary files a/Bin/net40/SunnyUI.Demo.exe and b/Bin/net40/SunnyUI.Demo.exe differ diff --git a/Bin/net40/SunnyUI.dll b/Bin/net40/SunnyUI.dll index 8f041544..fe25e654 100644 Binary files a/Bin/net40/SunnyUI.dll and b/Bin/net40/SunnyUI.dll differ diff --git a/Bin/net5.0-windows/SunnyUI.dll b/Bin/net5.0-windows/SunnyUI.dll index df99fd1e..04aa57dd 100644 Binary files a/Bin/net5.0-windows/SunnyUI.dll and b/Bin/net5.0-windows/SunnyUI.dll differ diff --git a/Bin/net5.0-windows/ref/SunnyUI.dll b/Bin/net5.0-windows/ref/SunnyUI.dll index 467338de..53efeec9 100644 Binary files a/Bin/net5.0-windows/ref/SunnyUI.dll and b/Bin/net5.0-windows/ref/SunnyUI.dll differ diff --git a/Bin/netcoreapp3.1/SunnyUI.dll b/Bin/netcoreapp3.1/SunnyUI.dll index 3f64fb42..64307fa3 100644 Binary files a/Bin/netcoreapp3.1/SunnyUI.dll and b/Bin/netcoreapp3.1/SunnyUI.dll differ diff --git a/SunnyUI.Demo/Controls/FCombobox.Designer.cs b/SunnyUI.Demo/Controls/FCombobox.Designer.cs index 1fcf0700..02f1dd9a 100644 --- a/SunnyUI.Demo/Controls/FCombobox.Designer.cs +++ b/SunnyUI.Demo/Controls/FCombobox.Designer.cs @@ -28,54 +28,54 @@ /// private void InitializeComponent() { - System.Windows.Forms.TreeNode treeNode29 = new System.Windows.Forms.TreeNode("节点0"); - System.Windows.Forms.TreeNode treeNode30 = new System.Windows.Forms.TreeNode("节点1"); - System.Windows.Forms.TreeNode treeNode31 = new System.Windows.Forms.TreeNode("节点2"); - System.Windows.Forms.TreeNode treeNode32 = new System.Windows.Forms.TreeNode("节点3"); - System.Windows.Forms.TreeNode treeNode25 = new System.Windows.Forms.TreeNode("节点0"); - System.Windows.Forms.TreeNode treeNode26 = new System.Windows.Forms.TreeNode("节点1"); - System.Windows.Forms.TreeNode treeNode27 = new System.Windows.Forms.TreeNode("节点2"); - System.Windows.Forms.TreeNode treeNode28 = new System.Windows.Forms.TreeNode("节点3"); - System.Windows.Forms.TreeNode treeNode1 = new System.Windows.Forms.TreeNode("节点0"); - System.Windows.Forms.TreeNode treeNode2 = new System.Windows.Forms.TreeNode("节点1"); - System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("节点2"); - System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("节点3"); - System.Windows.Forms.TreeNode treeNode5 = new System.Windows.Forms.TreeNode("节点0", new System.Windows.Forms.TreeNode[] { - treeNode1, - treeNode2, - treeNode3, - treeNode4}); - System.Windows.Forms.TreeNode treeNode6 = new System.Windows.Forms.TreeNode("节点4"); - System.Windows.Forms.TreeNode treeNode7 = new System.Windows.Forms.TreeNode("节点5"); - System.Windows.Forms.TreeNode treeNode8 = new System.Windows.Forms.TreeNode("节点6"); - System.Windows.Forms.TreeNode treeNode9 = new System.Windows.Forms.TreeNode("节点7"); - System.Windows.Forms.TreeNode treeNode10 = new System.Windows.Forms.TreeNode("节点1", new System.Windows.Forms.TreeNode[] { - treeNode6, - treeNode7, - treeNode8, - treeNode9}); - System.Windows.Forms.TreeNode treeNode11 = new System.Windows.Forms.TreeNode("节点2"); - System.Windows.Forms.TreeNode treeNode12 = new System.Windows.Forms.TreeNode("节点3"); - System.Windows.Forms.TreeNode treeNode13 = new System.Windows.Forms.TreeNode("节点00"); - System.Windows.Forms.TreeNode treeNode14 = new System.Windows.Forms.TreeNode("节点01"); - System.Windows.Forms.TreeNode treeNode15 = new System.Windows.Forms.TreeNode("节点02"); - System.Windows.Forms.TreeNode treeNode16 = new System.Windows.Forms.TreeNode("节点03"); - System.Windows.Forms.TreeNode treeNode17 = new System.Windows.Forms.TreeNode("节点0", new System.Windows.Forms.TreeNode[] { - treeNode13, - treeNode14, - treeNode15, - treeNode16}); - System.Windows.Forms.TreeNode treeNode18 = new System.Windows.Forms.TreeNode("节点11"); - System.Windows.Forms.TreeNode treeNode19 = new System.Windows.Forms.TreeNode("节点12"); - System.Windows.Forms.TreeNode treeNode20 = new System.Windows.Forms.TreeNode("节点13"); - System.Windows.Forms.TreeNode treeNode21 = new System.Windows.Forms.TreeNode("节点14"); - System.Windows.Forms.TreeNode treeNode22 = new System.Windows.Forms.TreeNode("节点1", new System.Windows.Forms.TreeNode[] { - treeNode18, - treeNode19, - treeNode20, - treeNode21}); - System.Windows.Forms.TreeNode treeNode23 = new System.Windows.Forms.TreeNode("节点2"); - System.Windows.Forms.TreeNode treeNode24 = new System.Windows.Forms.TreeNode("节点3"); + System.Windows.Forms.TreeNode treeNode61 = new System.Windows.Forms.TreeNode("节点0"); + System.Windows.Forms.TreeNode treeNode62 = new System.Windows.Forms.TreeNode("节点1"); + System.Windows.Forms.TreeNode treeNode63 = new System.Windows.Forms.TreeNode("节点2"); + System.Windows.Forms.TreeNode treeNode64 = new System.Windows.Forms.TreeNode("节点3"); + System.Windows.Forms.TreeNode treeNode57 = new System.Windows.Forms.TreeNode("节点0"); + System.Windows.Forms.TreeNode treeNode58 = new System.Windows.Forms.TreeNode("节点1"); + System.Windows.Forms.TreeNode treeNode59 = new System.Windows.Forms.TreeNode("节点2"); + System.Windows.Forms.TreeNode treeNode60 = new System.Windows.Forms.TreeNode("节点3"); + System.Windows.Forms.TreeNode treeNode33 = new System.Windows.Forms.TreeNode("节点0"); + System.Windows.Forms.TreeNode treeNode34 = new System.Windows.Forms.TreeNode("节点1"); + System.Windows.Forms.TreeNode treeNode35 = new System.Windows.Forms.TreeNode("节点2"); + System.Windows.Forms.TreeNode treeNode36 = new System.Windows.Forms.TreeNode("节点3"); + System.Windows.Forms.TreeNode treeNode37 = new System.Windows.Forms.TreeNode("节点0", new System.Windows.Forms.TreeNode[] { + treeNode33, + treeNode34, + treeNode35, + treeNode36}); + System.Windows.Forms.TreeNode treeNode38 = new System.Windows.Forms.TreeNode("节点4"); + System.Windows.Forms.TreeNode treeNode39 = new System.Windows.Forms.TreeNode("节点5"); + System.Windows.Forms.TreeNode treeNode40 = new System.Windows.Forms.TreeNode("节点6"); + System.Windows.Forms.TreeNode treeNode41 = new System.Windows.Forms.TreeNode("节点7"); + System.Windows.Forms.TreeNode treeNode42 = new System.Windows.Forms.TreeNode("节点1", new System.Windows.Forms.TreeNode[] { + treeNode38, + treeNode39, + treeNode40, + treeNode41}); + System.Windows.Forms.TreeNode treeNode43 = new System.Windows.Forms.TreeNode("节点2"); + System.Windows.Forms.TreeNode treeNode44 = new System.Windows.Forms.TreeNode("节点3"); + System.Windows.Forms.TreeNode treeNode45 = new System.Windows.Forms.TreeNode("节点00"); + System.Windows.Forms.TreeNode treeNode46 = new System.Windows.Forms.TreeNode("节点01"); + System.Windows.Forms.TreeNode treeNode47 = new System.Windows.Forms.TreeNode("节点02"); + System.Windows.Forms.TreeNode treeNode48 = new System.Windows.Forms.TreeNode("节点03"); + System.Windows.Forms.TreeNode treeNode49 = new System.Windows.Forms.TreeNode("节点0", new System.Windows.Forms.TreeNode[] { + treeNode45, + treeNode46, + treeNode47, + treeNode48}); + System.Windows.Forms.TreeNode treeNode50 = new System.Windows.Forms.TreeNode("节点11"); + System.Windows.Forms.TreeNode treeNode51 = new System.Windows.Forms.TreeNode("节点12"); + System.Windows.Forms.TreeNode treeNode52 = new System.Windows.Forms.TreeNode("节点13"); + System.Windows.Forms.TreeNode treeNode53 = new System.Windows.Forms.TreeNode("节点14"); + System.Windows.Forms.TreeNode treeNode54 = new System.Windows.Forms.TreeNode("节点1", new System.Windows.Forms.TreeNode[] { + treeNode50, + treeNode51, + treeNode52, + treeNode53}); + System.Windows.Forms.TreeNode treeNode55 = new System.Windows.Forms.TreeNode("节点2"); + System.Windows.Forms.TreeNode treeNode56 = new System.Windows.Forms.TreeNode("节点3"); this.uiLine8 = new Sunny.UI.UILine(); this.uiDatetimePicker1 = new Sunny.UI.UIDatetimePicker(); this.uiColorPicker1 = new Sunny.UI.UIColorPicker(); @@ -95,11 +95,13 @@ this.uiLine4 = new Sunny.UI.UILine(); this.uiComboboxEx1 = new Sunny.UI.UIComboboxEx(); this.uiComboboxEx2 = new Sunny.UI.UIComboboxEx(); + this.dateTimePicker1 = new System.Windows.Forms.DateTimePicker(); this.PagePanel.SuspendLayout(); this.SuspendLayout(); // // PagePanel // + this.PagePanel.Controls.Add(this.dateTimePicker1); this.PagePanel.Controls.Add(this.uiComboboxEx2); this.PagePanel.Controls.Add(this.uiComboboxEx1); this.PagePanel.Controls.Add(this.uiLine4); @@ -245,6 +247,7 @@ this.uiDatePicker1.MinimumSize = new System.Drawing.Size(63, 0); this.uiDatePicker1.Name = "uiDatePicker1"; this.uiDatePicker1.Padding = new System.Windows.Forms.Padding(0, 0, 30, 2); + this.uiDatePicker1.ShowToday = true; this.uiDatePicker1.Size = new System.Drawing.Size(150, 29); this.uiDatePicker1.SymbolDropDown = 61555; this.uiDatePicker1.SymbolNormal = 61555; @@ -301,19 +304,19 @@ this.uiComboTreeView1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.uiComboTreeView1.MinimumSize = new System.Drawing.Size(63, 0); this.uiComboTreeView1.Name = "uiComboTreeView1"; - treeNode29.Name = "节点0"; - treeNode29.Text = "节点0"; - treeNode30.Name = "节点1"; - treeNode30.Text = "节点1"; - treeNode31.Name = "节点2"; - treeNode31.Text = "节点2"; - treeNode32.Name = "节点3"; - treeNode32.Text = "节点3"; + treeNode61.Name = "节点0"; + treeNode61.Text = "节点0"; + treeNode62.Name = "节点1"; + treeNode62.Text = "节点1"; + treeNode63.Name = "节点2"; + treeNode63.Text = "节点2"; + treeNode64.Name = "节点3"; + treeNode64.Text = "节点3"; this.uiComboTreeView1.Nodes.AddRange(new System.Windows.Forms.TreeNode[] { - treeNode29, - treeNode30, - treeNode31, - treeNode32}); + treeNode61, + treeNode62, + treeNode63, + treeNode64}); this.uiComboTreeView1.Padding = new System.Windows.Forms.Padding(0, 0, 30, 2); this.uiComboTreeView1.Size = new System.Drawing.Size(150, 29); this.uiComboTreeView1.TabIndex = 43; @@ -341,19 +344,19 @@ this.uiComboTreeView2.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.uiComboTreeView2.MinimumSize = new System.Drawing.Size(63, 0); this.uiComboTreeView2.Name = "uiComboTreeView2"; - treeNode25.Name = "节点0"; - treeNode25.Text = "节点0"; - treeNode26.Name = "节点1"; - treeNode26.Text = "节点1"; - treeNode27.Name = "节点2"; - treeNode27.Text = "节点2"; - treeNode28.Name = "节点3"; - treeNode28.Text = "节点3"; + treeNode57.Name = "节点0"; + treeNode57.Text = "节点0"; + treeNode58.Name = "节点1"; + treeNode58.Text = "节点1"; + treeNode59.Name = "节点2"; + treeNode59.Text = "节点2"; + treeNode60.Name = "节点3"; + treeNode60.Text = "节点3"; this.uiComboTreeView2.Nodes.AddRange(new System.Windows.Forms.TreeNode[] { - treeNode25, - treeNode26, - treeNode27, - treeNode28}); + treeNode57, + treeNode58, + treeNode59, + treeNode60}); this.uiComboTreeView2.Padding = new System.Windows.Forms.Padding(0, 0, 30, 2); this.uiComboTreeView2.Size = new System.Drawing.Size(150, 29); this.uiComboTreeView2.TabIndex = 46; @@ -370,35 +373,35 @@ this.uiComboTreeView3.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.uiComboTreeView3.MinimumSize = new System.Drawing.Size(63, 0); this.uiComboTreeView3.Name = "uiComboTreeView3"; - treeNode1.Name = "节点0"; - treeNode1.Text = "节点0"; - treeNode2.Name = "节点1"; - treeNode2.Text = "节点1"; - treeNode3.Name = "节点2"; - treeNode3.Text = "节点2"; - treeNode4.Name = "节点3"; - treeNode4.Text = "节点3"; - treeNode5.Name = "节点0"; - treeNode5.Text = "节点0"; - treeNode6.Name = "节点4"; - treeNode6.Text = "节点4"; - treeNode7.Name = "节点5"; - treeNode7.Text = "节点5"; - treeNode8.Name = "节点6"; - treeNode8.Text = "节点6"; - treeNode9.Name = "节点7"; - treeNode9.Text = "节点7"; - treeNode10.Name = "节点1"; - treeNode10.Text = "节点1"; - treeNode11.Name = "节点2"; - treeNode11.Text = "节点2"; - treeNode12.Name = "节点3"; - treeNode12.Text = "节点3"; + treeNode33.Name = "节点0"; + treeNode33.Text = "节点0"; + treeNode34.Name = "节点1"; + treeNode34.Text = "节点1"; + treeNode35.Name = "节点2"; + treeNode35.Text = "节点2"; + treeNode36.Name = "节点3"; + treeNode36.Text = "节点3"; + treeNode37.Name = "节点0"; + treeNode37.Text = "节点0"; + treeNode38.Name = "节点4"; + treeNode38.Text = "节点4"; + treeNode39.Name = "节点5"; + treeNode39.Text = "节点5"; + treeNode40.Name = "节点6"; + treeNode40.Text = "节点6"; + treeNode41.Name = "节点7"; + treeNode41.Text = "节点7"; + treeNode42.Name = "节点1"; + treeNode42.Text = "节点1"; + treeNode43.Name = "节点2"; + treeNode43.Text = "节点2"; + treeNode44.Name = "节点3"; + treeNode44.Text = "节点3"; this.uiComboTreeView3.Nodes.AddRange(new System.Windows.Forms.TreeNode[] { - treeNode5, - treeNode10, - treeNode11, - treeNode12}); + treeNode37, + treeNode42, + treeNode43, + treeNode44}); this.uiComboTreeView3.Padding = new System.Windows.Forms.Padding(0, 0, 30, 2); this.uiComboTreeView3.ShowLines = true; this.uiComboTreeView3.Size = new System.Drawing.Size(150, 29); @@ -414,35 +417,35 @@ this.uiComboTreeView4.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.uiComboTreeView4.MinimumSize = new System.Drawing.Size(63, 0); this.uiComboTreeView4.Name = "uiComboTreeView4"; - treeNode13.Name = "节点0"; - treeNode13.Text = "节点00"; - treeNode14.Name = "节点1"; - treeNode14.Text = "节点01"; - treeNode15.Name = "节点2"; - treeNode15.Text = "节点02"; - treeNode16.Name = "节点3"; - treeNode16.Text = "节点03"; - treeNode17.Name = "节点0"; - treeNode17.Text = "节点0"; - treeNode18.Name = "节点4"; - treeNode18.Text = "节点11"; - treeNode19.Name = "节点5"; - treeNode19.Text = "节点12"; - treeNode20.Name = "节点6"; - treeNode20.Text = "节点13"; - treeNode21.Name = "节点7"; - treeNode21.Text = "节点14"; - treeNode22.Name = "节点1"; - treeNode22.Text = "节点1"; - treeNode23.Name = "节点2"; - treeNode23.Text = "节点2"; - treeNode24.Name = "节点3"; - treeNode24.Text = "节点3"; + treeNode45.Name = "节点0"; + treeNode45.Text = "节点00"; + treeNode46.Name = "节点1"; + treeNode46.Text = "节点01"; + treeNode47.Name = "节点2"; + treeNode47.Text = "节点02"; + treeNode48.Name = "节点3"; + treeNode48.Text = "节点03"; + treeNode49.Name = "节点0"; + treeNode49.Text = "节点0"; + treeNode50.Name = "节点4"; + treeNode50.Text = "节点11"; + treeNode51.Name = "节点5"; + treeNode51.Text = "节点12"; + treeNode52.Name = "节点6"; + treeNode52.Text = "节点13"; + treeNode53.Name = "节点7"; + treeNode53.Text = "节点14"; + treeNode54.Name = "节点1"; + treeNode54.Text = "节点1"; + treeNode55.Name = "节点2"; + treeNode55.Text = "节点2"; + treeNode56.Name = "节点3"; + treeNode56.Text = "节点3"; this.uiComboTreeView4.Nodes.AddRange(new System.Windows.Forms.TreeNode[] { - treeNode17, - treeNode22, - treeNode23, - treeNode24}); + treeNode49, + treeNode54, + treeNode55, + treeNode56}); this.uiComboTreeView4.Padding = new System.Windows.Forms.Padding(0, 0, 30, 2); this.uiComboTreeView4.ShowLines = true; this.uiComboTreeView4.Size = new System.Drawing.Size(150, 29); @@ -491,6 +494,13 @@ this.uiComboboxEx2.Size = new System.Drawing.Size(150, 30); this.uiComboboxEx2.TabIndex = 51; // + // dateTimePicker1 + // + this.dateTimePicker1.Location = new System.Drawing.Point(390, 277); + this.dateTimePicker1.Name = "dateTimePicker1"; + this.dateTimePicker1.Size = new System.Drawing.Size(200, 29); + this.dateTimePicker1.TabIndex = 52; + // // FCombobox // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; @@ -524,5 +534,6 @@ private UILine uiLine4; private UIComboboxEx uiComboboxEx2; private UIComboboxEx uiComboboxEx1; + private System.Windows.Forms.DateTimePicker dateTimePicker1; } } \ No newline at end of file diff --git a/SunnyUI.Demo/Controls/FLabel.Designer.cs b/SunnyUI.Demo/Controls/FLabel.Designer.cs index d97bb3b7..91b66b1c 100644 --- a/SunnyUI.Demo/Controls/FLabel.Designer.cs +++ b/SunnyUI.Demo/Controls/FLabel.Designer.cs @@ -41,10 +41,10 @@ this.uiMarkLabel3 = new Sunny.UI.UIMarkLabel(); this.uiMarkLabel4 = new Sunny.UI.UIMarkLabel(); this.uiLedLabel = new Sunny.UI.UILine(); - this.uiLedLabel1 = new Sunny.UI.Controls.UILedLabel(); - this.uiLedLabel2 = new Sunny.UI.Controls.UILedLabel(); - this.uiLedLabel3 = new Sunny.UI.Controls.UILedLabel(); - this.uiLedLabel4 = new Sunny.UI.Controls.UILedLabel(); + this.uiLedLabel1 = new Sunny.UI.UILedLabel(); + this.uiLedLabel2 = new Sunny.UI.UILedLabel(); + this.uiLedLabel3 = new Sunny.UI.UILedLabel(); + this.uiLedLabel4 = new Sunny.UI.UILedLabel(); this.PagePanel.SuspendLayout(); this.SuspendLayout(); // @@ -308,10 +308,10 @@ private UIMarkLabel uiMarkLabel4; private UIMarkLabel uiMarkLabel3; private UIMarkLabel uiMarkLabel2; - private UI.Controls.UILedLabel uiLedLabel1; + private UI.UILedLabel uiLedLabel1; private UILine uiLedLabel; - private UI.Controls.UILedLabel uiLedLabel3; - private UI.Controls.UILedLabel uiLedLabel2; - private UI.Controls.UILedLabel uiLedLabel4; + private UI.UILedLabel uiLedLabel3; + private UI.UILedLabel uiLedLabel2; + private UI.UILedLabel uiLedLabel4; } } \ No newline at end of file diff --git a/SunnyUI/Controls/DropItem/UIDateItem.cs b/SunnyUI/Controls/DropItem/UIDateItem.cs index ca2f4d46..1ed61d11 100644 --- a/SunnyUI/Controls/DropItem/UIDateItem.cs +++ b/SunnyUI/Controls/DropItem/UIDateItem.cs @@ -523,7 +523,7 @@ namespace Sunny.UI int top = height * (i / 4); SizeF sf = e.Graphics.MeasureString(months[i], Font); - e.Graphics.DrawString(months[i], Font, i == activeMonth ? UIColor.Blue : ForeColor, left + (width - sf.Width) / 2, top + (height - sf.Height) / 2); + e.Graphics.DrawString(months[i], Font, i == activeMonth ? PrimaryColor : ForeColor, left + (width - sf.Width) / 2, top + (height - sf.Height) / 2); } } @@ -558,6 +558,8 @@ namespace Sunny.UI private int activeYear = -1; + public bool ShowToday { get; set; } + private void p1_Paint(object sender, System.Windows.Forms.PaintEventArgs e) { for (int i = 0; i < 12; i++) @@ -571,7 +573,7 @@ namespace Sunny.UI Color color = (i == 0 || i == 11) ? Color.DarkGray : ForeColor; if (years[i] != 10000) { - e.Graphics.DrawString(years[i].ToString(), Font, i == activeYear ? UIColor.Blue : color, left + (width - sf.Width) / 2, top + (height - sf.Height) / 2); + e.Graphics.DrawString(years[i].ToString(), Font, i == activeYear ? PrimaryColor : color, left + (width - sf.Width) / 2, top + (height - sf.Height) / 2); } } } @@ -628,11 +630,11 @@ namespace Sunny.UI sf = e.Graphics.MeasureString(days[i].Day.ToString(), Font); Color color = (days[i].Month == Month) ? ForeColor : Color.DarkGray; - color = (days[i].DateString() == date.DateString()) ? UIColor.Blue : color; + color = (days[i].DateString() == date.DateString()) ? PrimaryColor : color; if (!maxDrawer) { - e.Graphics.DrawString(days[i].Day.ToString(), Font, i == activeDay ? UIColor.Blue : color, left + (width - sf.Width) / 2, top + 30 + (height - sf.Height) / 2); + e.Graphics.DrawString(days[i].Day.ToString(), Font, i == activeDay ? PrimaryColor : color, left + (width - sf.Width) / 2, top + 30 + (height - sf.Height) / 2); } if (!maxDrawer && days[i].Date.Equals(DateTime.MaxValue.Date)) @@ -640,9 +642,25 @@ namespace Sunny.UI maxDrawer = true; } } + + if (ShowToday) + { + using (Font SubFont = new Font("微软雅黑", 10.5f)) + { + e.Graphics.FillRectangle(p3.FillColor, p3.Width - width * 4 + 1, p3.Height - height + 1, width * 4 - 2, height - 2); + e.Graphics.FillRoundRectangle(PrimaryColor, new Rectangle((int)(p3.Width - width * 4 + 6), p3.Height - height + 3, 8, height - 10), 3); + + sf = e.Graphics.MeasureString("今天:" + DateTime.Now.DateString(), SubFont); + e.Graphics.DrawString("今天 :", SubFont, isToday ? PrimaryColor : Color.DarkGray, p3.Width - width * 4 + 17, p3.Height - height - 1 + (height - sf.Height) / 2.0f); + + sf = e.Graphics.MeasureString(DateTime.Now.DateString(), Font); + e.Graphics.DrawString(DateTime.Now.DateString(), Font, isToday ? PrimaryColor : Color.DarkGray, p3.Width - width * 4 + 55, p3.Height - height - 1 + (height - sf.Height) / 2.0f); + } + } } private int activeDay = -1; + private bool isToday; private void p3_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e) { @@ -651,8 +669,11 @@ namespace Sunny.UI int x = e.Location.X / width; int y = (e.Location.Y - 30) / height; int iy = x + y * 7; - if (activeDay != iy) + bool istoday = ShowToday && e.Location.Y > p3.Top + p3.Height - height && e.Location.X > p3.Left + width * 3; + + if (activeDay != iy || istoday != isToday) { + isToday = istoday; activeDay = iy; p3.Invalidate(); } @@ -667,8 +688,16 @@ namespace Sunny.UI int id = x + y * 7; if (id < 0 || id >= 42) return; date = days[id].Date; + + if (ShowToday && e.Location.Y > p3.Height - height && e.Location.X > p3.Width - width * 4) + { + date = DateTime.Now.Date; + } + DoValueChanged(this, Date); CloseParent(); } + + public Color PrimaryColor { get; set; } = UIColor.Blue; } } \ No newline at end of file diff --git a/SunnyUI/Controls/DropItem/UIDateTimeItem.cs b/SunnyUI/Controls/DropItem/UIDateTimeItem.cs index 8f3d6379..6653322f 100644 --- a/SunnyUI/Controls/DropItem/UIDateTimeItem.cs +++ b/SunnyUI/Controls/DropItem/UIDateTimeItem.cs @@ -684,6 +684,8 @@ namespace Sunny.UI private readonly List months = new List(); private readonly List years = new List(); private readonly List days = new List(); + public Color PrimaryColor { get; set; } = UIColor.Blue; + public bool ShowToday { get; set; } public UIDateTimeItem() { @@ -1070,7 +1072,7 @@ namespace Sunny.UI int top = height * (i / 4); SizeF sf = e.Graphics.MeasureString(months[i], Font); - e.Graphics.DrawString(months[i], Font, i == activeMonth ? UIColor.Blue : ForeColor, left + (width - sf.Width) / 2, top + (height - sf.Height) / 2); + e.Graphics.DrawString(months[i], Font, i == activeMonth ? PrimaryColor : ForeColor, left + (width - sf.Width) / 2, top + (height - sf.Height) / 2); } } @@ -1112,7 +1114,7 @@ namespace Sunny.UI SizeF sf = e.Graphics.MeasureString(years[i].ToString(), Font); Color color = (i == 0 || i == 11) ? Color.DarkGray : ForeColor; - e.Graphics.DrawString(years[i].ToString(), Font, i == activeYear ? UIColor.Blue : color, left + (width - sf.Width) / 2, top + (height - sf.Height) / 2); + e.Graphics.DrawString(years[i].ToString(), Font, i == activeYear ? PrimaryColor : color, left + (width - sf.Width) / 2, top + (height - sf.Height) / 2); } } @@ -1168,11 +1170,11 @@ namespace Sunny.UI sf = e.Graphics.MeasureString(days[i].Day.ToString(), Font); Color color = (days[i].Month == Month) ? ForeColor : Color.DarkGray; - color = (days[i].DateString() == date.DateString()) ? UIColor.Blue : color; + color = (days[i].DateString() == date.DateString()) ? PrimaryColor : color; if (!maxDrawer) { - e.Graphics.DrawString(days[i].Day.ToString(), Font, i == activeDay ? UIColor.Blue : color, left + (width - sf.Width) / 2, top + 30 + (height - sf.Height) / 2); + e.Graphics.DrawString(days[i].Day.ToString(), Font, i == activeDay ? PrimaryColor : color, left + (width - sf.Width) / 2, top + 30 + (height - sf.Height) / 2); } if (!maxDrawer && days[i].Date.Equals(DateTime.MaxValue.Date)) @@ -1180,8 +1182,25 @@ namespace Sunny.UI maxDrawer = true; } } + + if (ShowToday) + { + using (Font SubFont = new Font("微软雅黑", 10.5f)) + { + e.Graphics.FillRectangle(p3.FillColor, p3.Width - width * 4 + 1, p3.Height - height + 1, width * 4 - 2, height - 2); + e.Graphics.FillRoundRectangle(PrimaryColor, new Rectangle((int)(p3.Width - width * 4 + 6), p3.Height - height + 3, 8, height - 10), 3); + + sf = e.Graphics.MeasureString("今天:" + DateTime.Now.DateString(), SubFont); + e.Graphics.DrawString("今天 :", SubFont, isToday ? PrimaryColor : Color.DarkGray, p3.Width - width * 4 + 17, p3.Height - height - 1 + (height - sf.Height) / 2.0f); + + sf = e.Graphics.MeasureString(DateTime.Now.DateString(), Font); + e.Graphics.DrawString(DateTime.Now.DateString(), Font, isToday ? PrimaryColor : Color.DarkGray, p3.Width - width * 4 + 55, p3.Height - height - 1 + (height - sf.Height) / 2.0f); + } + } } + private bool isToday; + private void p3_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e) { int width = p3.Width / 7; @@ -1189,8 +1208,11 @@ namespace Sunny.UI int x = e.Location.X / width; int y = (e.Location.Y - 30) / height; int iy = x + y * 7; - if (activeDay != iy) + bool istoday = ShowToday && e.Location.Y > p3.Top + p3.Height - height && e.Location.X > p3.Left + width * 3; + + if (activeDay != iy || istoday != isToday) { + isToday = istoday; activeDay = iy; p3.Invalidate(); } @@ -1205,6 +1227,11 @@ namespace Sunny.UI int id = x + y * 7; if (id < 0 || id >= 42) return; date = days[id].Date; + if (ShowToday && e.Location.Y > p3.Height - height && e.Location.X > p3.Width - width * 4) + { + date = DateTime.Now.Date; + } + date = new DateTime(date.Year, date.Month, date.Day, Hour, Minute, Second); DoValueChanged(this, Date); //CloseParent(); diff --git a/SunnyUI/Controls/UIDatePicker.cs b/SunnyUI/Controls/UIDatePicker.cs index bf15004f..5587f03b 100644 --- a/SunnyUI/Controls/UIDatePicker.cs +++ b/SunnyUI/Controls/UIDatePicker.cs @@ -45,6 +45,10 @@ namespace Sunny.UI [Description("日期输入时,是否可空显示"), Category("SunnyUI")] public bool CanEmpty { get; set; } + [DefaultValue(false)] + [Description("日期输入时,显示今日按钮"), Category("SunnyUI")] + public bool ShowToday { get; set; } + private void UIDatePicker_TextChanged(object sender, EventArgs e) { if (Text.Length == MaxLength) @@ -112,6 +116,8 @@ namespace Sunny.UI private void UIDatetimePicker_ButtonClick(object sender, EventArgs e) { item.Date = Value; + item.ShowToday = ShowToday; + item.PrimaryColor = RectColor; ItemForm.Show(this); } diff --git a/SunnyUI/Controls/UIDateTimePicker.cs b/SunnyUI/Controls/UIDateTimePicker.cs index a0baf2ef..d99a1f83 100644 --- a/SunnyUI/Controls/UIDateTimePicker.cs +++ b/SunnyUI/Controls/UIDateTimePicker.cs @@ -52,6 +52,11 @@ namespace Sunny.UI [Description("日期输入时,是否可空显示"), Category("SunnyUI")] public bool CanEmpty { get; set; } + [DefaultValue(false)] + [Description("日期输入时,显示今日按钮"), Category("SunnyUI")] + public bool ShowToday { get; set; } + + public UIDatetimePicker() { InitializeComponent(); @@ -133,6 +138,8 @@ namespace Sunny.UI private void UIDatetimePicker_ButtonClick(object sender, EventArgs e) { item.Date = Value; + item.ShowToday = ShowToday; + item.PrimaryColor = RectColor; ItemForm.Show(this); } diff --git a/SunnyUI/Controls/UILedLabel.cs b/SunnyUI/Controls/UILedLabel.cs index f3be7a10..d99e1f75 100644 --- a/SunnyUI/Controls/UILedLabel.cs +++ b/SunnyUI/Controls/UILedLabel.cs @@ -24,7 +24,7 @@ using System.ComponentModel; using System.Drawing; using System.Windows.Forms; -namespace Sunny.UI.Controls +namespace Sunny.UI { [ToolboxItem(true)] [DefaultEvent("ValueChanged")]