diff --git a/Bin/net40/SunnyUI.Demo.exe b/Bin/net40/SunnyUI.Demo.exe
index 653a6711..bbfbeaa9 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 92064853..4319e8fe 100644
Binary files a/Bin/net40/SunnyUI.dll and b/Bin/net40/SunnyUI.dll differ
diff --git a/Bin/net462/SunnyUI.dll b/Bin/net462/SunnyUI.dll
index c18a17a2..98d989e6 100644
Binary files a/Bin/net462/SunnyUI.dll and b/Bin/net462/SunnyUI.dll differ
diff --git a/Bin/net5.0-windows/SunnyUI.dll b/Bin/net5.0-windows/SunnyUI.dll
index d4c8c12f..94d183e4 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 c3ee4821..82b65078 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 a71debdf..c1efa907 100644
Binary files a/Bin/netcoreapp3.1/SunnyUI.dll and b/Bin/netcoreapp3.1/SunnyUI.dll differ
diff --git a/SunnyUI.Demo/Industrial/FMeter.Designer.cs b/SunnyUI.Demo/Industrial/FMeter.Designer.cs
index ed46571e..6cba1b96 100644
--- a/SunnyUI.Demo/Industrial/FMeter.Designer.cs
+++ b/SunnyUI.Demo/Industrial/FMeter.Designer.cs
@@ -36,7 +36,7 @@ namespace Sunny.UI.Demo
this.uiLine6 = new Sunny.UI.UILine();
this.uiRoundMeter2 = new Sunny.UI.UIRoundMeter();
this.uiRoundMeter1 = new Sunny.UI.UIRoundMeter();
- this.timer1 = new System.Windows.Forms.Timer(this.components);
+ this.uiMillisecondTimer1 = new Sunny.UI.UIMillisecondTimer(this.components);
this.SuspendLayout();
//
// uiAnalogMeter1
@@ -104,9 +104,11 @@ namespace Sunny.UI.Demo
this.uiRoundMeter1.TabIndex = 63;
this.uiRoundMeter1.Text = "uiRoundMeter1";
//
- // timer1
+ // uiMillisecondTimer1
//
- this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
+ this.uiMillisecondTimer1.Interval = 100;
+ this.uiMillisecondTimer1.TagString = null;
+ this.uiMillisecondTimer1.Tick += new System.EventHandler(this.uiMillisecondTimer1_Tick);
//
// FMeter
//
@@ -133,6 +135,6 @@ namespace Sunny.UI.Demo
private UIRoundMeter uiRoundMeter2;
private UILine uiLine6;
private UIRoundMeter uiRoundMeter1;
- private System.Windows.Forms.Timer timer1;
+ private UIMillisecondTimer uiMillisecondTimer1;
}
}
\ No newline at end of file
diff --git a/SunnyUI.Demo/Industrial/FMeter.cs b/SunnyUI.Demo/Industrial/FMeter.cs
index b2a00611..051e91b3 100644
--- a/SunnyUI.Demo/Industrial/FMeter.cs
+++ b/SunnyUI.Demo/Industrial/FMeter.cs
@@ -1,4 +1,6 @@
-namespace Sunny.UI.Demo
+using System;
+
+namespace Sunny.UI.Demo
{
public partial class FMeter : UIPage
{
@@ -12,15 +14,17 @@
public override void Init()
{
value = 0;
- timer1.ReStart();
+ uiMillisecondTimer1.ReStart();
}
- private void timer1_Tick(object sender, System.EventArgs e)
+ private void uiMillisecondTimer1_Tick(object sender, System.EventArgs e)
{
value++;
uiRoundMeter1.Angle = value * 10;
uiRoundMeter2.Angle = value * 10;
uiAnalogMeter1.Value = value;
+
+ Console.WriteLine(DateTime.Now.ToString(DateTimeEx.DateTimeFormatEx));
}
}
}
diff --git a/SunnyUI.Demo/Industrial/FMeter.resx b/SunnyUI.Demo/Industrial/FMeter.resx
index f314f57b..f5b04402 100644
--- a/SunnyUI.Demo/Industrial/FMeter.resx
+++ b/SunnyUI.Demo/Industrial/FMeter.resx
@@ -317,351 +317,351 @@
iVBORw0KGgoAAAANSUhEUgAAAIwAAACMCAYAAACuwEE+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- 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
+ 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
- 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
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAEIVSURBVHhe7Z0JmFTVtaiT9+67mW6SmzmaGKOJJibOCsos
+ gsg8082MIDKp4MSkyCAqYhxxSExCjAN0N6MQjRqTeKMxJiZxiETosaq6qrqrqrtREFDR637rX3V29alT
+ p6qrmm7AYX/f+mo6dc7ea/1n7bXH84kPczJmyf8xTz/9H+Yf9/0/JL5t3X/trF73nXj5ulMT5SXdYhVl
+ 58UqS4fGKkuG8BqvKBvpJ+nHlPThv5xDzyXntOfXa8k1nct/nA73pIBsW/ef9S8/+Ll4YN034+WlpySq
+ SvolKktHJapKRycqy4o9UtRKST+PnptrlPTjmlybPJCXjwE6zBJ3dsP2Rz6vRqpc++OkBygb01BROs4F
+ iRo6Xi0eI7hhRDywaXhj7cZhDbWbh7ZGYvJfzqHnknPa8+u15Jp6bckDedE8Sd7II3l1sv1xOpjJmHX/
+ t7HioS/EyjccW1++9iytOirLJjRUlI11IBE4No5UA0ceGdwQ2TwIqX/hl6Njv7ttau3GGy6NbFh+RXTd
+ 8nnRkmVXR9cuXchr6KFF1/iJ+xj+Uyf/5Rycq/6F+0fb8+u15JpcWwFSeMrGkjfySF7JM3mnDE5xPk7t
+ lWpryz5jY5CGyrLBEoOMV0jkzuZOb4huHpqo3zIwEX5kQOyvPx8TemjJZcH75i4O/3zu9eGfzb0+OGdi
+ SXDs8L+Fhw6NVA0btud3w0a8HxlebCLDi0SKTbRorKkbN8nUjZ2YFHnPd+5jIsNGGv7LOTgX5+TcXINr
+ hR669jKuTR7IC3lyvFAxedU8S95tDBSNbv2sU7yPU1ul+qqNX8e1E2zaO1Y9Sc36UQ3RLUMSicf6xV99
+ YHj4ocVzwnddtjx4w0W3B2eN3RwaXRyqGzPB1E2camLTLza7Vt9v9j73nNm/Y4fZHwiYd2pqzP6KCrO/
+ stK8I69vvfii2fvsM2bfn/+swnu+4zeO0WPlfypyDs7FOTk316gbM9GEiotCwVnFm8kDeYmuWTyHvJFH
+ zavkmbwnPWLpuLrX1vSgbJTRKe7HqbUpVr32G7GqspPi5SXD5Y68QGMDuVMbax8Zlkj8pn+iev3AyOqF
+ V4auveDu0KWj1wXGFlVsmzjlvcRVC8zu0nXmnde2q7H3/fOfZs+TT5pda9eaprvuMoklS0z9JZeYyPhx
+ JnRODxM6t6cJdu9uKr/7XbP9P//DbP/sp5Mi7/mO3ziGYyNjRut/E0sW67k4J+fmGlzrne3bze6ydSZx
+ 5QJDXgJFoypClxavCy254G7ySp7Ju5bB8TqUjTJSVsrsFP/jlG/SILG6tANN2XhF6eRkXCLepH7roMY3
+ njgv8siKKaGFE+6qnjZ0U2jcuEDDgmvN7gfWmHdefdW8U77D7HniCbPzrlUmvmCBCY8YYWpOP92U//cX
+ zY7Pfdbs+MLnzY4v/bcp/+qXTfnXv2YqjjzCVBzxzeTrd44ylcceYyqP+W5S5D3f6e+O8J/yr3zZ7OB8
+ X/gvs+Ozn9Fz15x+ml4rvmC+XnvPE48LPDvM26+8Inl72DQsvNbUSl41z5L36OYVUxvfeLw3ZaJs6nWk
+ rJSZsqMDRx0fp2wpumPNV2OVZZ0SFSUDuetoaRA8KijxrX1qV81ZVHNB3w3V44a+uG3u/Pfe+MWv1SBU
+ HY233mric68y4ZEj1dB4iB1fFjC+8XVTcdS3UwC0KBaWQuS7R5uKbx2pMAHS9k9/Ss8VHjVS89R4261m
+ 7zPPaF7J87Z5C94LTRz5cs2kfuspE2VLgiOBMq0ryi46QBfoxFHPx8kmgtn6qtITRVkD4lVlk1KgNGwd
+ 1BDb2itwy6XXVA3r8WR05gV1O++5z+x77nmz729/NTtX3Wnqpk8zNWd1NNvxHF/+kqkQQCqP/o6p/P73
+ TOX3jk0XLxy5xA+MfEX+j2cq//pX1ZvhicgjeSXP+174m9n3vOT/7vsMZaJslJGyUuYUOEldDEA36MhR
+ 10c7NWxfe6T2nTj1uYIiwWFjdFOf0C2XLKs4r8OzkalT63etXWfefull8/r995u6GTNM6Lzeybv6q18x
+ ld/+lqn63vcyJAOYgwmNR6jyqMrIa6jPeVKG6VoWykTZKCNlpcyUXQNkdGFbgaIjdOWo7aOXaE42VJWd
+ SxNTlbKDpvHGkfGmx8+PPLD4yoouJ/+9furUxj2PPm7efvkV03jLT0x4yGBT9cMfqOuvFFgwapV4kpTk
+ A4wVLxy5xAeAVgvVlxMLVf3geBMeOljLRhkpK2Wu6Hry39EButA+HdENOlJdic4+ck1x7hTtsqfq0YBW
+ 7qTYliF0glUO7r4hMHx4w94nnzJv/eNF07D8OvEmvQQAMbLcpShd4Tju+0lxA/NBgcaKE1CTbzxmw3XL
+ zFt//4eh7Oigcmj3DdoxKLpBR6or1VlJv4+Mt6E+piVgQaFfgiZl7fUzb6jpcloscO9P333rxZdMYukS
+ U9OhQxKUo6hyjjVVxx+XFAtLntDkA061tKR2rV9v3nj4YYl/vi/f8X3yt4aVN+lv7QaPxFxUr5SxpsOZ
+ 2ux/658vmcA997yLTtANOtI+HAccdIguHbV++BKDcbGqkl5aYKmTk6/rR9U/94vJ27t0fLFu5vS33vrn
+ i2Kwh0ygSyd13ShSgRDXrWKB8QMnCzQYPRc09rdgt27Gptjllzf/R/6/9/nn9ftmiJB2AIfqymnRBbp0
+ Nm88+KB6nLqZ095CR+hKm+AuHaJTdOuo+cOR6FOQu6J/yqtQ6NfWjA7/bOHVge5dd+3etMnsefppEx03
+ TrxJUmEKxAk/1JglBUy+0DjGLkTcwLz973+n/bbPBQyf06Cx4Oh7N1AtSQ7guFkQ0UV07FjVze6NGw26
+ itw971p0lwIHnYpuPxT9NqLjTzaWl32roaJ0kG0qx6s3jIi99OvxoWnFDz/do8f/7nv2WdNw4w1JBdIc
+ FsNX/+gElRQwXmi84LihcRnaKxjK73vEDQwpMmZM6jcLjPt4xA2A97dCJHWeY3wgQicCT8P115u9z/zJ
+ oLPQjOKH0SG6VGhEt+gYXUs2P+mo/4OVmAfC4BqRvcJCrFJROqL+2Z9eGOjX6+UGqaf3PvWUiQwfpoGf
+ Vg8/+pGAgriA8UBTeZwAIjGG15NUut63RiwwdPP/7549+mp/awkY7/cHItnAKZeAPzx0qNnz+OMmce21
+ plJ0iC7RqcY2QCO6RucfuDk4zDxr2F72AwI1HSuRpmGsqmxY5FfXXlXeq+fO11evNrvWrFEYqLOrjj/e
+ VJ94oqn+sQXGBxq8igNJa4zU0n8sMLs2bDCv/+pX+j7Uu7f+lg2Y9hILoheaCvqbRCfEeTt//ktT3uuc
+ negU3ep0DnSNzkX32MAxx+GdyGiisvR0hvET5aWjG8Obhsdfe3h4+OZLloWKR+3evWmzaVi21FR88xvi
+ aiVWAYyTBJYTf5wExoGm6gSBBa8iMKlH8VFsW4obGN6//+675g2glt/8gGkNtNkk27n8oLFN8YalS81u
+ abmFiop2h2+evSxe/vBwdI3OVfdig8MeGvUsVevO0FHlHSXFjdFHhjG0H1owedW28eP37Vqz1kSKRmr3
+ vXqLH/84KT8QMA4CFLnEDQyf3/ztb83/vv22qTnjjII9TFvDlAENrSnRYWTkCLProYfNtrHj9qFjdI3O
+ 0T02wBaHLTTUm1BtYWmIbh2aeOnXRdUzRtxfN27c24233GqqTz1VCnyMr2K8UojS28JAXmDCw4fr56Y7
+ 7jjoVZJXskIjXjrUq6d54/77Tb3oGF2jc9W9A416msMxpklUlxyvE5scWOpfun9U8KIRpdsumfNe7Ior
+ CvIg+QLQFqBY8QKD7Pv73827iYROoiK5j28PyVWeXNDQb/X6PfeYbbMueQ+do3sLjdpEbOOY6fBITZUl
+ R2lPJDGLuMR6oTw4o6g0PmvWO/GrrvJVgBVVhKOoQgAo5Nh8xA+YuunT9Tub3McfCknqiv6e9FYUUzhq
+ zjjdNN1+m0HnwelFpXgarZ7EJtgGGznmOrRJ+1mcprMNcIOzin8Vk4w3/uQnWT1LWxm8rc7jB0yVNOGZ
+ jmmT+/hDJWnQuISYhsZD0623mvoZAs0lo3+FLRoDBMLJJne44qFvO2Y7NInphHQYkSEdaX6tRAPc8NSp
+ u5puu91UnXyiFCbpQdrKsO0lvsCIMK5jk/v7QyXZgEGonqpPO8003vwTE548eZcGwuJddMTbgeaQ9Qgz
+ fpHq7q9ZP4q+AJp3oREjX2eua3WHM03Ft7/tW2Dvd4WKPUdbQkhrCFiY1pn2mzTv+d4L0qEUP1islBPT
+ nH2Weprg0GGvh2+ZvQzbaOcetmJC1qEYe9KBRKFWu/srSkdEf7FwXnW/fo07b7/DBDp3TnbI+RS2LeVw
+ 91rtJbm8DMJkrWCXLqbp5lsMNon+8ur52iPsDCNgO8eMByc1VpT9SC+uY0NlI2N/vGtaefczd+68Y5Wp
+ HTQwOVRPF75PYVsrH1U4/CQJjJ+kQ1Pbt69pWnmzwTbYyL1K86BNjSDI1fksOrwuVdFLvx5f0avbK4ml
+ S03skouT40KMtEoB/ArbVtLe5y9UDof8pIEjrSdu3PppU01i/gKDjbCVM8pdjA2xpWPW9klMRJZ2fV+t
+ CyH1tTWjQ9OKHnzqgsnvM5oK1Tq6SnPvMDNohtB6a2kk3I6Ae0fE3eJMqaDLnl7rwwecZmgSixaZp8ZP
+ eD80dcSa5NQIsZ3YEFu22+RyaSR8sqGytKczKVlnyjE3g+H2plV36rQElBYeMVxnp8U8/S82qGxcuVI/
+ u997A04G/fhMP4j9f6uEIQdn8DJjugTCZ8auGMdiPOskXp33J5+UfHWPcek4l5wHqFywpMQvD44UAhLl
+ pvzuiVyIV0/2czYJjxql3h7gG25aoVMjdD4NAbDYMDlPuLQntnXM3HaJOaTa3+K0iuqf/8Xk6pNO2rVz
+ 1V0m1KN7cqaYZC525RXaBH1v1y5tYdjC2mYr3ex8fq+pybxTVaXvI1Iw0p4//EE/09lHymix5JDkXdUs
+ +r1cX0e+eRVAMHbNKSfrojOWfdQOGWzqL5pq4nPnmsTixaZhxQrTuOJGs/OOO8zOe+9Nyu23yfc36pyd
+ xKJrTOyKy03dpIkaH9BZplABHgA5M/hY4uLOW6HCcASJXmY/HQKD+zPTMfaHwxlSN2tmUh/i9YNdu0jZ
+ Vkh+T9qF7WyrCZu2+fzgiorffkqXOTjehYi74pzOLySuvtrUX3ihDrtr3OIChtRw3XUZhbXA0N2uUMl7
+ C4gFiEVppOj48an/t0YUkh/+0NSceqo0Nc824cFDTP2si03j8uvMzrvvkqbnLZrHxDVXm/i8q0xszpyk
+ iKLrp18k9f9F8n5W6nvymVi4UCem02zduWqVSVy7yNQJdKHzz1cQ1QNJdaDiqbZ8xSffFhiSu6c8GzD2
+ s5+kpqMye2/ieBO/bI6pOOesF2yrSadEiG2xsWPuA0+6EJ5qiOUOsS1Dam+YdWNo4ID9jT+5OeVZ/ICh
+ l9S2lrzA7P7Nb/Qz82Ca7r5b3zM6zG9vPPCAfuY/tuBuSXmQFiTYSSDp39/UzZxpmm65RbzFHQpI7Kq5
+ +l29uP76GTNMPe9nul4BRj87wnFWpiHTxDNdpAvT4lddaRqvWybnvl29U92Fk6VK7WVqTjtVgSCOqDpO
+ 8pMLHk++3cC4p4seEDAiLK5rEMCD5/Xajw11NYLYFNtiY8fcB5Yir236Cp09SmL1xpH1/3ygeMdpp8bo
+ 9g/2PCcNFjcwDNyRbBziBWbnT3+qn4M9e5rdmzfrDDcSfThMLSC5C+4WnUcjcUT1qaeYaqliNN4Q0bk1
+ EngGunc30bFjTMPSJabprju1SolddpkauH6GGBwwxHP4C7854obGCoC5BYiAZ+qFpn7ObKm6bjRNAg9r
+ rMPDhppAhw4CuMfjuMUHmkYHGKpoUvSCC/T71gCDpKCRPAS7dTUNEgTvOO2UGLa0E6+wMbZ2zN76FK8s
+ 6axrfYXCpsTWfoGi89cHJk16NybKIcjNBkzimmu0DgYcMu0FhviExNxZqicUjYchnuE/6p1chbaidbJz
+ LeKHGqCRV+p6YItMnChVxnK5S8VoVy9UT8Iqw/qLBQa3+MLiFhc4BcBTN3WqqZOqDGCo8tAD672Jnciz
+ wuEHDuKAYz0MNxvV9t7/+R/9vrXAWFFoJA91EkYExo19t2Zs/w1Nicf6aZjBDhJia8fsrUuMO9ixItxX
+ 5IHFcwM9O7ypwRMKcCYou8UCQ91rC87cEi8wxCckWgKAhXLeLi/X/xGw7f3znzMKjLiBIbik5RKQ2CFS
+ VKTNx8bbbjNxiTMI+NTQl1ziyMXNrwBziSMtwmOhcb23wMxyXt3w2Pd4HQLq+fMNVXfs8stMqH9fhUI9
+ Tramuvxu9cbN9PrPf67vQxJkZwMmW/LqDkF/6Cw+XxoUnTrtiTy0dK5WTdhYbH1AY02N5WUd1btIRB2v
+ 3di3qudZ/0jMnS9eYGQSlhaAodmH16CK8QJDVUSy8QsKwQXbz3Z6pFd0grRzLfp9AhL9x6+4wjSJURqW
+ LRMAAENk9qVJudQC4wOOG56CvI7rfTZ43OBI3MOkd1Y20iqrOfMMzX+qv8eKAMNN4AYGr8l0USDJBgxx
+ Dv/xild3Khr/Has98vXTZ5rqXp3+EQ9s7Ks2Fltjc8f8haXEaxuPYJtRyEs0PT4gdPPs5YH+/d5skOYn
+ fRN+1RHiBoYMYngKTOFJFhiEhCchUaUw+dp+tn00bkl5FwGVDqlgnz5atTXJsXG5bkxgoapMtmpcwLjB
+ yQAIAR6BwA1RXgBZsSAJIF6QUuBM1Xw1XL9cm/EsjaUcCoqrs5BVlxibZJe6EONx49lZgIVWSVRFWt1Z
+ ARqxIfkJ9D73zdAts5djY2ytNhfbOxjknxIVa0+z3iVRXtq/qk/X5+NXSEGHDDIVCoedwEOPYrPErrxS
+ C2GBsZ7EBrVuYOxcE+1vkM/uqQT1s2enjkPcsFQefZSpHTpEj6dZGxMImkFxC9/NbvY2Fhy3ZIDjgabV
+ 8LjEgkOMI4E3zfjE4mtNZPTo5urJ6WWmA9QLTO2AAfoZcEiFApMmDjRAxC4S9VMuMlX9uz2fYOaB42Ww
+ vYNBfol5LtpOp5Mu8eiA0IpZK0O9e++OzZunZCoc6to8mREBFJIFBrGwkNzAWG9iA2NaAzaFhwzR7xQU
+ Cwte7eijTahfPzU+3iUmr8QHscsEECQDGiQJTk54soHTanh8wEEUnGl6YzH+VjdlcrKjj6a342m8wCDo
+ DU9NKtjDeG3F9eRmrz75ZIU40POc3eGVl67E1jpkILYvaOs03Vs26V2KYtEt59WM6PWH2PRZUu8NEFik
+ Seu+uEcYEiC5gbHVEckNzK7SUv2OVz4zJGAT8Y+CgheznkXuRu62UN/zNaCkqUzQrMBYseC0AE9WcNLg
+ 8YCDtAoexAOOVFPAjpekFadDFQS9Ao0fMDQKbDpgD+ME1+pl+vcz0dHjTU1Rnz80iq2xObbPu1+GvUeY
+ L6HjDPVbB0VWXbEk0Kd3Q+zyK5IX8suEIxjYz8MgBGYkNzDEKSR6dvW7447Tz3R106WvoFhYBJzw4EHi
+ XfqaQMcOEq/M0m56FYUmCzi+0CA+4LjhSfM4SDvAg7eRa+Fp6BtSaMSQTXfeqXpwA4PQE07yAqPdF6JX
+ r9A56v5/SrAjIjplhwy6AgI9OzVE7p63BJtjexjIax+a+u0l300uTygrbmz8bZ+aGSM3RkePM9GJE7Qq
+ 8s2AS6hWyKztbLJC25/vCWztd8QpJHe8QlwDXFrtObBUiRCz1Pbvr7PJFBgxNoGuBrttAE4GPBacgwGP
+ /F+rJ/EieJi4VP37/vpX9aZWL1Zf6NA2CAIdO6bg8BMLTEaVRMzkeBneh0eOMOH+Q0xw1qiN2BzbwwAs
+ OFj4J92GvWrtmbGKsvFsC1q3acXM6n49/o1iA73OzbxwO4lWRdazHPVtUyuehXXFgU6dksCc1VEhiEsc
+ kJS2AAfxgccNTrvBAzSXmMbly+VGm5Q0JgEwMU0bLPDzBcYRPHewRw9TN2mSqT6vx7+xObaHAVjIud39
+ G6E1X6LXD8LYiLh28ZT7njh/wPsUimkA+XiYthAbtzCoWSt1LLtR0t+isJx9tgBzlrSMJOi9ygLTCnDy
+ gCfN47Q3PFIlUabG66/X1hPQZKwt99FVq4RzWWjEyzCsEhk3zjze/dz3a5dOuQ/bKwPCAkw4eGSmeEXJ
+ 9yBLm1evPjA8OGnwb+smXqAuq+Jb3/L1MG3tdax3ARYAYSPlkHg3haWTwILIe4JG4iSFpjXguOHxBQbJ
+ Ul21FTxegCjT3Lm69jx0fh+B5jiFJgVOG3gbFYBxCY2J0KCB0jIdboIXDP6t7lwuDMACTDh4pCce1RJ7
+ 7aGzNdiNPTI4uvraBdXdukViUm8GundTI/pevJWSDT6tiqQaQkmR4iITHjggCUuXzibQWaokRKCpm3yB
+ A4yVQsDxwJOX1ykAngyAfOBBfAAijqHlRByDJ60+PjmPR6HBwB6dtUYqrXdxARPs2tVEJ0w01V07R6L3
+ X7sABjT4FSZgw8GkOfGEjebqaGu/8IpZ99T26quRvNZ1bexJvOIOcnml6xpgggIKk38QhcYBJzK6WDdN
+ VskJThKaNHAOyOsgOeDxApQGjhUfeBALjjSzm26+2dRNmaKj78zpodWok6nacnK9CxpCDna7CnXqbsIr
+ Lr4HBmy1BBsOJs2JVXHqgqrLRrJiLnBx0fo6aZ+HxTB+64vaWiwoWhUJFPocAJ4BACzduibFBQ5bsMbn
+ zVUXnhWcNG/TDI8/OEih4CDN8GQA5AYnK0A+4EgQHLt8jrSGbtI+J5rbyemhAo2P7g5IbID9naNMZNgQ
+ E+k/2ITE9jCgK0KEiYwVkzy7h+5gHbGMbh4aXnvd5ZWdOwWgncGvdvcurqoI5TC4ydxgwAhKdahioXHA
+ YZIShm2GxgVOCh6BJMPjIAV4HQtOXvAgeXoeX3iQJDRUTTruJHnUqaDEMFRLPvo7YDlegJHgF53WjR9v
+ Ks84IxAuu+5yfZwQY4nCRtrznZiep/N1cUH1jw6I/HTuiuBZ3bQ3tc0CrRyi41J4FwEmeI408aZM1ieI
+ 0NwL9uBVxAccjmPeiULjB47X4+TwOmnw+IFTMDw5PI8fPH4AiaehE48+KDwMW7r56e+Ahf4Y8TLMEiQ2
+ rDm1o4n8fMEKWIAJ2EibwsmDLnE91FcNoQ2DwtdPv7e2dz8T6t//4HgXaUYDC0qJSlWkfS5Acc45Agti
+ weFVoEEEHlpvCsz8efIqYsGRgLFFcHzhSUrsSoEFSYFj4XG/Fyjc4guNvygwjKZb8QNIgGHyF4Or7GnH
+ /r1tvTjQLQTVBL/oP9SlhwnfOPNeWIAJDVWEEQeX5FQGIuJ4cOPI+DP3TggWDXi8bvxE7Un0O3lrxQ++
+ VLArdWio5zkaZAMD7xUYXhUaC44VOea83qLYi3XCFAORCo8FKM3juKUQiC5PSTo8XnEDJO99IMktl4q4
+ vBHAzLbgXKyTzem8VE/g0V9biQ7FCDCEAuEhw0x1Ud/H48/cNwEmYCM15cHuHKVLDmo3D63bcOMVlWef
+ XRe7dLZG6H4nR6zx8/FA2Y5R7+LAQv0cnTBe4xeqJX2g1bnnJANfoHGDo54n6XXop4lffbUDjBU8DuAI
+ IEgucLLBkwYOUig8vLYGHsQFj8SRiSXX6lRPPx3mknxsY0VtLbEMUx6ikyaZyg4d6+o23XQFTOisBbuT
+ lW5iyFwI6qrII4MjDy5e8tiZZ7/P8Hs+LrClTCkU9NwKvfreivUsTrCrnXGioCCgSPBFZ52KgpOUFDgA
+ 40BTe34fdenxawSahW5oEJfHUa/jeJ4M7+OAkwaPQJIVnua4Jy32yRX/IO4YKK84SETKxnyfnffcI3HG
+ D7Lq2O/7fEX/f4KcW+IYtcO0aeaxk09/P/Lw0iUwobGtMKL75SkwTnu7oX7zoOhDi5cHz+qqM+cKzYiF
+ IeN7C4afMLj4vWNNeNAgHTUFCAXGSkvgiMeJFBcnAaFqUuG9DziFwOPndXzhQVqCBzkAgCSeYV4wN4hX
+ t20lelMjYgsmeQVP7WCiaxYvhwnYgBEFhuhXm04srC9fOyy8bPrdtX36a1e1LufwOXkhohA5Y0O+ItUR
+ wS6xC/NtiEtwi/qaDzhUX+eJl5EAMb54sQsaB5wUNFnAUXhygNNKeNLAyYAHaQEgDzTkkxHt9mq1qi3k
+ 5mX7M2YahHqIrpfNvBsmdAG/MKItJV13JPToDlLP3Tehpmjgo3UTJuqoKbPb/E5eqCg0XlCsSCbpuY1d
+ RnUkmezTJwmMhSYfcAQagkI2X4wvWpSMaZCsHqcd4MkAqNnrtAogNzzIpZeaJgl+mfLq1a37c2vF2oNd
+ rMLFRSbCszKLBjwa/6sEvuxgJYzouiUGlxSYwKbh4cdvn17RvfMrBFpEy+0OjK2OpBkdvfBCAULgOP98
+ BxofcLLBQzUmr5GxYwzTSOMSIGZCkwc4bnh8wUEccDLgQRxwMuBBCgHIAw8i8V3jTTeJnqaol7GgtDkw
+ R3xTh2WiEyeaim5nvxJ+8vbpsKGMMBDJ5r98aAxsHBZ99Cezy886u55M0yWtrRefk7dG0kCxAjA//IF2
+ UNGnopAAjBU3NF54vOCIp6mV3+tEoaz5ToOmNfC06HUQgaRV8CA5AEqDBxFgxMuw7ipx9cLmKp6GQ1sD
+ c+QRqk/mHZefckp99NFbZ8MGjMDKJ9juQT4UNdZuHFa39aaras7o+A6Lr+hJ1b3tfU7eGklB4hYBhlWL
+ zKJnOL+2X18FVSUNmjzBEU/DOWISD7GGWBfZe6HJAKeV8GQAJJBkBUgAyQkPkof3kSq38c7bTaXcZM16
+ pAXaemjU+yPO+Vi+oy0lqWVqjjhif/0jK+dq05pGUVXZuZ+QYIbu3yK+jG68cX7w9I5C8tU6fqG7MrQx
+ wV4JdOmiLTIgwNhW0qBJA8cDjxccPE3/ftoUZSkHW3RkBQfxAycNHhc4XnjcAKXBgzjg5IInK0DZvU/T
+ bbfpzczNlqbLA4XGOQ82Z1kvHi1wyhkmuvnG+RYYWPmELlyywGy4cWHgNAHmmoXa86c7M2TJCIOSJNbK
+ 8NnOamflIp9ZK02itcXntMJZOfYYbRmx1IH+FAyt4obGC04aPD7gIHiagQOSs/Jd0FjxBQfxgyfN6yB5
+ wJMGkAONLzyIAFIAQMQxqZWnbl26ZkNy3lzJO7ncDYwOAJ/wQ60GAycLMMKEBQZWJOh19glRD3PD1YGT
+ T9e7swpXJzEMRnWf3C2sk2GyMe/ZRoNkAbJrgu1E5rTCWZGANzJurM4nVUgsMAcCjoUHTzOgf7OnoYry
+ gNOm8HgBysfztASQDzxM4WRZitrGrUsfYFi+k3n+qzKGfNKAIW4V23OzqYcRJiwwsCLAJHdW5MtQ2XXX
+ BE5lRv6cZHWkFGfvi2GGPwvneW/3dGEnBj7bVXo1p5yin9MK5whjI3UXXWSiY0YnAREDq/hAkx84HniA
+ RjwNQTVd6wziKTRW8oEnDZwDhKdggAQSD0Cs0U5IjJkPMLza73JJGjBic2wPA4HTOhiYaAambGQmMBLD
+ 4I4IflJuL0u1xDYUdhMgFtIDj132iudhWzJ7bCpDLgEYmos8xkVBEeOq5AtOi15HXiXi5/+6k4IYnK3J
+ tLWh0kbwtASQG560UXVHsgGUBg9ypeTtGt3OpF2BkZYSiwRhoWVgzjxLg6sKHiZuT5IFGBbak/AiLLKy
+ TzJjVyngeetf/0odmzqXS5jtReTPqgDa/ioAY18tPADjBUjEFxz7vo8VoOmloLG2CkPwiONkFZVFgEYC
+ /6zgWFnolmzeB2i8nx1wEK8HSk3N8MBjAZLrNt68UmONNH22FTAi5V/7qrbKgmec1TIwwTM76fYZ5V/9
+ StpJ/KCxgS1bdeBp7Npo+5ltPuyxaedyBA/DQFctMQdwsFht0KBMYPw8DoLHcd77wmPB4VU7BfvozpJ4
+ UI1rloi3yQecvOABGF7te4FD4ZH3GcC4Pluv4wuQvPd6H/k/GzVmAwY7WWD8YhjbCHFLBjBiexiAhRaA
+ WXpNsKMAIxnLBxguTrIZpOVElWQ/sy2ZPTbtXI7gYXThlgS/NWeeKcHqeSY8eLCpHeKAAzDW8wCMhcgC
+ 4weRAFPbLykKihsgvI1cQ3fPFFAxaGLZ0iQ8iwUQbVF5oEkJVZcLIIEkJblg8lZdbnGDkxLAcVdlAooV
+ AAKYVavy8jB+ycacbvEFRhiABZhoGRjJXIW4JfdJVDzQsMMCCZJtLMNODHaRvXsOR8a5RDToFa+UDLDl
+ szTn6DTCuEzyToFjoXF7HsQC4wcOouBIzGPBsfCIt2HZbWTsWO0D0riGaioFjogGyG5gvOKAg+CJBI4W
+ 4UG8wHg/Z4MnJQt02ma7VkkAIwwEO3ZuCRipkjp01sxXHOkKeq14mtjELiSCW7Yb4zsWir9bV6ff2/XV
+ 3gxZAZjIhPHavNYgDjlGWmU/OsEBp08SmnzAcUsaNNmCZfE2Ak/t0KHaUsMTJK5blqymAEjhcQR4dKqk
+ IxnwFBg8u0U9kFsEFF94kPkKJVu+thswBL1HHKF5SALTUgwjBzEZqeJI26x2ZQrxeBk27SPZ5zzbPXZJ
+ dmQ1JzB0IrHuyV6LVwRw8DhnSaQuLR6qkVqqKy84ueBxg+MHD9DQmpLf2IyRebQKB3v3KjQecFIACSSt
+ gKdwgAQStwg0XL9RYsd2bSV961vKQPAsX2BcHXfrb7g6eObZkqlFpkoykJEphIEvFzR2Gw+7K4PdkYFk
+ Z+zlAoZ1T4CRAacbHGa0n3mGCZ0rrR28TQqcHF7HDY8XHMQNj3ob8WbyH62m5swRHQgsy/A4VFUWnoMM
+ UBo8SWEZLdvJ5gLGb4+eXJJmHzkvtoeBYIezDUw0A1M6InNoQIDhmcjVJ/4oGVu4M2XFVTXZPXVRLJ9t
+ XEO15JshtzC1YdhQ3TrVF04rFhwBrOa003SregUhGzhueCw0+cDjeB3+Hxk/Xvsi0sApBJ4McBAXPK0E
+ iD4YnQ3p1ZfrJrYehlYse8h4hc2a7LFe+2BzbA8DsJAxNJAx+Agw4pJptWjnnTtTbnEyaIcAbLxCZkh2
+ yMCbofRzHKPbj7GNR05grFgvJP9jY0YmXml1lQZODq+TLzwCjr7K/1l2wVxjBWSJtKgsOBnw+ACU0/Mg
+ uQHyg6bhhhtMdOqF6friZnJ0jVhgsiXvjlV4J3subI7tYUA9jDBhgdHBx7TpDZtvuirQsfM7enDPc7TH
+ L5UprzjAUPezxZabWj7r5jg2Q9mAkYImp1j2ztiCPi+hehSvU33aqcmlKQJfVnAKhcd6HUR+p+pk7181
+ JoGxGxxfgDzwFAqQBx4EYNiePjJ8WHoV7tjCCmNFxIbZhFai+3jVo3MubI5NYCDQsdP++kdWpE9vyJhA
+ 1blzPXVkeOgQna6XypRXPFTnkqzAiAQ6nGnCooCs1V++cszRumid8yWnOAgEAwFFwBmcw+vkA48FSDwP
+ I8VsE6/d9ATIgEKT/EDg8QXIBY8LIPYjZqlwCpgC7JBN3HrUKZpiexiABZhIm0CVPkXz1ukVPbq/QjRO
+ c7fcPTzgI34X95OswEihdT3SuHGmwn3HHIjgqkWJrORjtWCQtU0YfICAofDQ2nIBlAseLzRWBBz222Md
+ FRtJs0V9MzxSbSFZ4ckDoAx4moVnPLBdR6q8Hu/SGnHrD5tjexgInNfzXzCRNkXTbxJ4bBYLwmeZ8q98
+ Oe1kGZJnZnMCc9z3TWTYMFNzykn5xTH5CgDq+eQO5DkE0spivbb2vVjvY+HJBpAbHj+AnCqLKqLugkk6
+ kEpgqsYFFILl1gDkhscFENUE8UmqCnG1jForXtuUf/XL2oMfu/hSU1008PH4X346MR7cQEu6OLpjzVd9
+ l5lERhQZ5o5mDA945UCBEeEpH6FePXVU+YCrpWxi4aE32Vl0zqNxdN5MX2IUgQN4bF8PALnBaQkewKF1
+ ZeGZNFGXuTLVlf4MoGBb+1YD5EDEoCN75qSAyVP/uSQTmK+YxEKpYUaONuGl0+7hWeR2mUkgcP+nMxay
+ hR9YtDzUs48+nYzWSM67Po8Ma4YoIOdCNCJvDrIQqg6mOORslbWVOPBokE3ALK0t+njYZYtxJgUI7wM8
+ DIbyWoj3AR46A+WVLgOdIMbTTZgxJwDpvBwBBm+RH0DN0PCkOFqGWo62iF2wjRsYbC02wva1wgAsJOq3
+ DIQNGGle+eheKvvrRUse79br/abbbjXsz5JPSymX2ExlfGfvEjGgbk8mwaR24OUCtK3FBQ8xlO4pd9KJ
+ yeqrW9fUCLcC4QbIW4XlgodOQQGIrdc0YJb4oI6BzysuTw4mSssHSBQgC5EFyQUPvbt4KfqiNO956D4f
+ SWtSi62xObZng0RYyFwq61mMHylbfkWwc8/6JgmuWJtU8Y2vNyvYKzky3VKB+D3VCvvesdqy0eZ1LkDb
+ WwAIePA+CtD3dVWmrcJYmstEc+2nEVhoTShAboi8ALnhoWMQ70PfkRyLV43igaZM0Vn6zEFhWoMOYgok
+ dNLxtF7g2fmzn5lIkdxUcqNRdfvp0/tdPpK6cUWwNTZnu7TKnj3rYEGb1O7F+CT3dh91bPcxZvCTPOuY
+ 5avlX/5SulJd4peBQoQdA+xdTj8OzzxqtzimUCFfR4u3s9UXnk/AJgbSakwgYnNG3beG1QrO0AKj7FRF
+ GRBZkLwAOR6Iz/xXIRozWlpgEwzPnGS7D3qcG2/5iT6BrvyIb/rqsjUCZO4yY2tsziOOgmMHPw4LGdt9
+ kLwbCgWXT7unrni81pvqBVCe68RW/DJRqFhg2D0A5dKPcthA4xUnr24vZCHSxxmffLLGY+wpDEi6wI5W
+ mQTVChIQWZBsYO32RLYKQ8Tb2kCaVYjMSlQ9+egQabWHcZUNW2NzbF97/dTsGwrRUkptWZZ4dEDknitX
+ hM8fZHbeKUFWxw5ZgtEDD7qQlEsUZRDQaYfh4QqMVwDGQmRB4pWAVGIN9UYSn+mjBk8/TbdR1Y0d6d1W
+ mJz4SOCh3PTthPFIVhSk/iY6ZbKp4jGFbbwQ3+1hsDG2xubYHgayblmWuSni0ssre/UKsPibZpx/B15b
+ AeMEXaJolIuiqs90FtFlXPMDIj4g6WfVmXgCZ+dKgnzdHfPkk3ThIFM5uGl0Dz+BiuEZnSAvIFWiK4/u
+ 3HKgHkY77MTWTXeuMtgeBrJuikhK23b11QdHhGaO2JSYJ3GM1KHZ4hi/DBQqaVG6KBZl0SPLVq/ua30o
+ xILkBQrhd7ytNGvVOzlCXKfP12wBiAMGhvhFbI3NsT0MZN12leTd2FnjmDET9XnPuFS/O94vA4WK9s3Y
+ c4ri2F4UV8yMu4PSL3M4iQsmHQTE0/TqldOzHKhwXWyLjbE1Ng8uv7DljZ29W8eH71uwMDRwYB3TF3CJ
+ fs1rvwwUKmnAiJB5Wh9Ag+tO3X0fJZEys6sFQXFbbBuXS7getsXG2BqbY/sWt44nMbikrSUeTvFy8uEU
+ DYuv0wE29g1R+t0FO4CMWvECY6+hk7V79sycu/pRELlp6HHmrvfTGdIWukfUm4ltsTG2xubYvsWHU5B0
+ IFI7aaiWHusXWDjhvt9PmfY+G/Jpc9dbRbTJ4JcHGMR1h2kr7YMcABcolNUGvX76OhDxQsZnbR2JbbHx
+ 76dc9D42Tz3+RljI+bT8tAdsRR8ZVld2w8zQsAH/fuOXq3UBmO/8mAJJ53gryc8+wIiguBppLbG5dK7H
+ Hn+oRLxp9amnSnU8QFuMXt21tSgwzH8R22JjbI3N837AFinjEX5TB29sWLDIMMtMY4qMKoLIvhmAQkX/
+ 6+qedgv007SkJ5SBwg81NHjV44/TuTs0renP8dPXgYjXRvpZbIptsTG2LugRfiTvQ0Jr77hsSWDs8IZd
+ a9YmpyBkG+vBU7gzdMIJOneD6Zo8o5A62Z1Zfks9F/LHPzbsC6z76sm5GD3WTYb6nq+AMorMhol6DW8c
+ 9WEQ4BDD1UrcRg9x6qb84Q9VT42iwwYfHbKGnd+ziXcDRa/oI53Fptg2MG54A7Yu+CGhpIzHEA/v8Yed
+ t68yPGxLPYqf0VywMDPdPsTcnRh9tcewnoklKry3Kw3edNY22aUqDMDpuY86SrvOVZnZrv9BFWCRG4Gh
+ AMak7JADG1yzrNWd2I+HmXBWh+g5VwIajvN6FvsdusSm2LZmRI8/YGtsXtBjiEkZDzq/btrK0OjRu3ev
+ W68TjDP7R9J7fXmAOYXThd/SLKROpvAsp7Wb2QCL3Q7EAmIBsov8UysnAUSqLTwOI8YfGk8DLFLV6kQu
+ YKFM8h2/vf3vbaovNrtGh+Hhw3XdOo9otnvuWGBY6mOXkLgFD8RxXgEWqjweQYxNsS02bvWDzkl0Bzte
+ ZlSivLR/VZ+zn3/j/gek+TUzGXOkGawZGLt81q6EtALtJLve2j4tH2XY51ejDH6zS1fs7HYFBEUCDW5b
+ 3Kgur82Ipz44gidheICbAFi0fI5OqZJJ3udOM2eGZHdgAApSvg86V6+CLsmD6BJbYlNsi421OwWbi+0d
+ DPJPDdvXHqmL3BhLaHp8QOjGmcsDkya++eaWrbqYzGssmyk8CMnuRGUFkFjiQCH5bKHgM4v3WcRPYpqD
+ 3b1KH1knxybdp1wHpX7nO8k7UhStPdAfwN5gbQGedqoJDeivQX0lwyCpG/C7pqZTJy2/e20XYpePWC+d
+ DzAp3blFbIcNsSU2xbbYGFtjc2zvYFBYaiwv62i9TDywsW9V9zP/sevBNbp1ll7Y5WXcmaSgJO6QbIEX
+ 8QyJdU1UYXZNNq6X/2eunHRaUo7bJp7RIYROZyehASYnL4etkEf6Wbp20WpaW0P0MVk94rmlrJSZzZhI
+ 3Dz2JvNKfsA4HsWKXKvqmKPVhtgSm2Jb612wuWP+wlM8sO6b0rwapKPYsS1DIvcvmhvo3//Nvb97Ssd6
+ 3MDYgiLcAXgYm9jODBDcBeFJ+STcK/ENcQyBsr7KZzyOPTbjLpHr4tKZMgA0eBuapNob7T7ucBHyK61L
+ ltTovBe84ykne7xjMyyIW4fEg1ThQGZ/RywwxDbcZF7hGIXQkxdil71PPWWqhg3Zg02xrdpYbI3NHfO3
+ LsUrSzqrl2FgMvFYv5oRvdcHblr57s77fpaM6G1GfHp9Wf1oqxqS3ZIVIT4h2QCXlhJ75uFpCPbsbpxI
+ BjBW5PoMVtKiYJG+LvCSO/Zw6hnWvIhnCfVMPg9Be3BZV+Sp0vEEtrwpkfiOG8gNDvGe/T0vYNzXEMFm
+ bPQUWLny3ZqRvTc4vbraMsLWjtlbn3S4oLxsAG1z1i7V//NXxTs6nRbb+/T/6KOA3V4mVVCPRMePT+0Z
+ k9pkSOITkl3MT4zDnnn2M/039v9ZgUGcqqjm9NN1shGrKFObUnuNcjDFAbemYwftX2IlgW46wG9uz2zF
+ 5V38RHUoYJCAiO9yVUmqM6/e5LrYDNvViA2xJTbFttg45zBAIYk2uXqYHWXFuK/aZdNujA4cuB/jpnkZ
+ yaA3MLNCpxN3iN14CNFmongT27zG2/CZZPsQrGS4VrdgAAGHzq+aszrq7LWIGInWBvlLixPaU+QaXIvm
+ MbPrWCWAV9HnNdqear98uGIXBBDQoW0+W7H9VdZ7BLp21c/ZYhgvMOgCm2E7bKhVkdgU2xbU79JSYnpe
+ vKKkj5KI+5J2es05nV94Y+1aXRyeih2k4Lb57DU4QmyC2M+2urK7bdrdxEkEw/Y4JONu8RPHILh8jMSi
+ NJ5wUtunj85uU4+TzWitFc7FOUWYPVcrNwZ7zLDJI54utVlStmv6VEW2m8G9oYEVuh7sTddS0OvWGTbC
+ VtgM26X2BaLmENumTcFsi0RTS+f90pknEXX9c7+YHOjSZdfeP/0puZjeCeAYyCJBsjvzNmZx98/Y5rPt
+ b8AL2cQGi/Y4K3lBgzjG4a5m4JL9ZNh9IVI0SvtwCJb1rs5lyFxi//c98agCBWNduHp9kn+3rgqOehR7
+ rPf/VlxexS12N1J3HIdYD2O/zw+Y76ptsBG2CnTtvAvbaf+a2BKbtroZnStJvj7J1iDWy3DByN3zrn26
+ R4//3fP7p5Ijyk71RDOZROuIrmzuGGIYqiR3a4kgmGSDYXomSRxnj/FK3tAg1rACh+7UKTEEzyHQ5zNN
+ mqiP3CG2CErzVh8mLi0XLQfGpjnK/4DupBP1N13g1qVzckmIwKfnINju3s3UMHfF+U/quu688D1iuwc4
+ NgswiPW+3Hh4axoDVN14GDumZIGhh5yYzyssjFPPJ2XCRtgKmyksjnfBpnKKTzpmbttUW1v2mXhlWV/1
+ MkDz2prRgZmjH/zTkiXv7960KTn9QTJI8/GNhx/WwtlEpE+97FaKX/VFXMMm0e7jvFIQNH6C4cRgrPPB
+ 2NrUHTZUIcBT8LDvugsn67OX2OUT78RvuvJRYAEaJm43Q+BzDSvMWSa/Dhzu97mE+AXP4dYhELlvOAtM
+ trQ/EtGqaPfGjQYbBacXrcFmajuGAMSW2NQxb/ukxvKyb8UqS4bIRSVYWj8q9tKvx1ec1+OV3es3mKZb
+ b0muMHDuahSjwW+WaYa299cd3HHHevsb/EQV72egQsV6A7c4MUlK/I7xO5dbnPL75b1Q0erZR4c5z/+D
+ 4/V3FvBjG2yErXRhvdgOG2JLx6ztmxoryn6klIows7zuj3dOK+/Va+fep36vdyRbj6tSRWm+hTlMRKFD
+ WvIShYqrT6qtoPFKMt9OFehUb83lOUZXSLIRAB102AYbYStrt/qq0hMdcx6cxHwJegcVGom4w/ctXBCd
+ MGHnniee1LEehQbltZPC2lqaFY4RHEN4QchHXLC0l1gofK8vUv61r+lUCRoY0Qnjd2Ib2yrCZtjOMePB
+ S/UvP/g5qQf721ZTvLxkePi6GSsDl13xJhllnET3lxED+BX6gyYtGUmlHT1qGsw2cPa5Pjpnk8k9T/7O
+ xGbM2BNeOmMltrGtIjrosJ1jxoObmDOhY00EUMENI+LbHhoZmj1mdeONN72lo9rSfNVdrKSwfkpAWvvb
+ oRI1nK+xxJDtkF+9XkugIsAiukbnb27ZYhpXrHyr+uKi+xP/enCU7iAlNmqTsaIDTU2VJUcpweWlo5k8
+ HH9x9cjgtOKS6JIl+3c/8og2ZRUaR6FWqcn33DFtFxy2lTDFgkFRuuD9RtttObziPe5AJHnOHN7EIwqL
+ 6Bqdo/vgtFEl8VdWj8Qm2IYqCVs5Zju0KVG14Th1dztKihuiW4fW/+OXo0LTR60L3HXvu28+9phOQWje
+ Lw8FeJVw+EDDtAs7PGGT3eXcLe2VXwWlwPgpWQ2dbVTXonN0jw2wBTZR77K97AeOuQ59Ep1+Uqqnk1ma
+ oNDEtgwhw4FpxWXblix5j/qUfewqvu60nnwKfThAY6dcMFZDbytiR4rtLDcrbZ3X1oCCLisElmDPHmbP
+ E78z6BqdKyw6TlRSjE2wjRShfTrnWptY3W/XNDVDs7qoekbR/Q1Llry9949PG54gm2py+yngEENjp426
+ N6mmH4lEr7X72LaUZNXjp48cIjpElyz22/uHP/IsyLfRNTp3w6Jri7w7Lxwuyb0QjgyzGC7+6gPDQ/Mu
+ WBW98MJ9+/70jPaeKjR0iPkpAjlE0OBZSG5gEO1mdz37yUpb5FM9i58OconoDh2iy33PPGPic+a8hY7R
+ NTpPg6WlhWiHOiWhWXeGQkMgHN40PP7aw8PDN128nNnpb73wgtn5s3tNOYv73VMjvHIIoLHTRBkLa2lN
+ T1uIwlJoNSQ6Q3foEF2iU3SLjtE1Ok/Csu6Mwx4Wm9htkSCL1pMOn7NptLyP3rdw3vY+vV+nR3ivuHid
+ xJ1rE8SDDc0JJ6SqJQZAGfjzTi31yoHksdCqCF2hM3SHDtFl9BcL56FbOxFKdS661x0vP0iJHRd3Vq/7
+ jk6JoEeYzj1p2sX+eOe0in69XuExdG+9/JI+LaTcb822yqGJaZiH4p6TzEzAbONhrZW8+lZcgo7QFTpD
+ d+gQXWoPLp1y9OBWlgxB56ndLj9oSXT9SQa47ETy5NjThhEMgoWmjX6Y4fZ3KirEvf40qRjfYLhlaJKu
+ 3emzYEswZy+4A4WNgVEmK5GyzTmx4r5WrutqXrMG/T7iHIuO0BU6C80Y/TA6RJe2ux8do2t07qj/g5vo
+ XUzYYQQKyIjpa2tGR1bNuzbYo8eufc/9xbz96qumfvo0U/HtI5NK8io1ixHUAN671e//VrIZUzwI0wW8
+ Aa8+g9tZ9svv7t8QvX4+UohHcfKPLtAJukFH6Erns+gUheScFtWp6PaQ9+C2dWL8IlZe2jsJTHIeKYVm
+ 9ldll44vxiTS319ba9589LHkclhRXMZcXFdvcbMhCgwanXN4DZ+r+cwse5J3Po9e3+8arRWFJLniAR2g
+ C3SCbtCRzpSzoDg6RKeHbGzoYCSG1XU+jfU2zsBl7eKpK17rcmaczqf9oVqdW8PaJwyjc4ZzNcMLFWc4
+ wi1chw0CdAGds+LSip1BaCe2J/9TgMdoSaRslJFzU2bKjg7QBTqpXTp1BTrSWAWdie7Q4UGfonCoEnNI
+ E1Ul/TSuccBpiP1mcOzvq8dU9+++OTqxuPGt518w+2sChi3sQ+efpysCdJ+9XE3xA5TG229TMPY++2xy
+ M+WRI8zrq1frd3S7J71ZgR4tl0hZKJMuyO/TW8tKmSl7dFJxY/Wg7pvRCbqxoCR1VtKvXebhHs6JvUd4
+ JJxOQmae8A7nmU3xR/tGVy+cV3H2yX+PzJrVtO+Z58y7crftvPceNSCz/xk7ybVDeatFvMbrq3+pTWp3
+ 2r11S3LVgd9/ChWqHck7ZeCclGnnPXebd4O1Zt+zzxnKTNmjq6+Zhy7QiS7v0fm3oivRWd77tnwYE3cK
+ yxy4exQc9TZbhjRGN/UJrbx4acW5Hf9ce8ms+JtbpT6X4HNXWampv/RSXW6KG2d/2Zx9Oa0Q+jrCxUUq
+ rG3yO6ZQIY+aV8kzeacMlGV/IGje3PpbE7t8ToKyUmbKrt376AKdiG50mc9HzatkS0xEZoBM3O2AeFXZ
+ JNsETyQeG9jIhkYrZi6uGtz9yejFF9e9sfoBaTVsM2+/tt3svPtufQoIGydu/9xnzY4vfkG7zHVxXaHB
+ cFuKXJs8kJcd//1FzRt5JK/kmbxTBspCmSqHdP1d6CeAsuU8yqxlFx04uhiAbtp9svYHMfGIuFhlWadE
+ RclAXc/tgNPQsHVQY3xrn9rb5yyqmXT++tDE4pe3XbP4vd1rysz+6hqz729/1fGe+KJrUg9x2P6p/2wG
+ CA/U1tWXW6hm8CAAItfk2uSBvPBEtqY7btc8klfyvO2aJe9RBspCmSgbZUyBQtlFB+hCH5v3ccqd6FNo
+ qC7tQEsgXlE6ORkYrx/F/muNbzzeO7pxxdTA/LF3BacP3RyaPDnUsPR6s7tsgy5PeTcUkqbx7w2bBfDY
+ u/CIEbokZMcXPm+2f+ZTZsd/fS4JklQPrHAgnlDJ1hJzWjD2OP7DfzkH59Jzyrm5BtfimlybPJAXhaRs
+ oyGP5DU4fdjmwPwJd1EGykKZtKms1U7pZMpM2T90/SoHI6G0WFXZSTpWInedE+MU6yyyxG/6J6rXD6z9
+ +fy5wUUT7g3NLN4QHj26su6iWSaxaJl5c8tvpGka1LU5b2/bpv0ruzdtNDt/fp9puG6Zic2+VNdgs6EP
+ qyF1kpcEots/9f8Egk8nRd7byUkcw7H8h/9yDs7FOTk31+Ba+4MSk8i1yUPdRTNNZNy4qtDFozeSR/JK
+ nsm7lkHKQpl05wQpo5b1Y1AOPNVXbfw6i8XrXlvTo6GidFy8smyCep0a8ToEh4mt/eIvPzgi/NDiObWr
+ Lrs+dN3UOwMXjtgSKCoK102YYmJTZpjEZXPNrofWmLf++U+989+tr9M+l/3hWjF0WAwdMG+/+KLZ95e/
+ pLbL4D3f8ZseI8fyn3fr6/UcnItzcm6uwbW4ZuDCoi3kQfNy/9WXkTfyqHmlLwVvImWgLJSJslFGp7gf
+ p7ZKNCcZXJM78lRctw7jO16HNTf6uBYeahnZNDD2l5+N5REukV8uWBK+76rltXfMvqn20vGltWNG/j08
+ YmTdjuFFe6MjR5vIqLEmOmqMiRSNM3VjJ5q68ReITHJE3st3/KbHyLE8bXXH8FF7OQfn0nPKubmGXmvt
+ dZdzbfJAXsiTsx5IvQl51qpWykBZPtJN5IOVmEEmyv5irHzDsRokV5aOSt6xySYowaMO99duHspDLhsi
+ mwc1hDZqx2D0idsvij5y0+zIhhuujJYsnR9du3ShSsmSq0MPLbrGT/it+bil8/W/cg7OpR1rcm69BteS
+ a2rfCQGs5EWrHDyi5JG8kmfyftjOgvuwJ5600bD9kc/zTEK6ylkvjJFw9w48zrhVcpUmSy5igY3DGms3
+ DlOgWiH8l3Po0hrXakK9lkJSOs4BpS950mdqSh6zPhXk43RoEvNAMIoushMj6VPmGIJw7nY1aLpYQxcq
+ 6edxvJpei2sCr+SBvHxg56Z8FJMC9PTT/8FURYQHXdbVbDhaH7tcXtJNO8WIhZCqMmm1SNVWIV7IJVqV
+ yG/2OP6j/5VzcC7Oac+v1/pQA/KJT/x/mX+GZU1VSOIAAAAASUVORK5CYII=
-
- 17, 17
+
+ 107, 17
\ No newline at end of file
diff --git a/SunnyUI.Net5.Demo/bin/net5.0-windows/SunnyUI.Common.dll b/SunnyUI.Net5.Demo/bin/net5.0-windows/SunnyUI.Common.dll
deleted file mode 100644
index f4c2c627..00000000
Binary files a/SunnyUI.Net5.Demo/bin/net5.0-windows/SunnyUI.Common.dll and /dev/null differ
diff --git a/SunnyUI.Net5.Demo/bin/net5.0-windows/SunnyUI.Net5.Demo.deps.json b/SunnyUI.Net5.Demo/bin/net5.0-windows/SunnyUI.Net5.Demo.deps.json
deleted file mode 100644
index 9272b498..00000000
--- a/SunnyUI.Net5.Demo/bin/net5.0-windows/SunnyUI.Net5.Demo.deps.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "runtimeTarget": {
- "name": ".NETCoreApp,Version=v5.0",
- "signature": ""
- },
- "compilationOptions": {},
- "targets": {
- ".NETCoreApp,Version=v5.0": {
- "SunnyUI.Net5.Demo/3.0.6": {
- "dependencies": {
- "SunnyUI": "3.0.6"
- },
- "runtime": {
- "SunnyUI.Net5.Demo.dll": {}
- }
- },
- "SunnyUI/3.0.6": {
- "dependencies": {
- "SunnyUI.Common": "3.0.6"
- },
- "runtime": {
- "lib/net5.0-windows7.0/SunnyUI.dll": {
- "assemblyVersion": "3.0.6.0",
- "fileVersion": "3.0.6.0"
- }
- }
- },
- "SunnyUI.Common/3.0.6": {
- "runtime": {
- "lib/net5.0/SunnyUI.Common.dll": {
- "assemblyVersion": "3.0.6.0",
- "fileVersion": "3.0.6.0"
- }
- }
- }
- }
- },
- "libraries": {
- "SunnyUI.Net5.Demo/3.0.6": {
- "type": "project",
- "serviceable": false,
- "sha512": ""
- },
- "SunnyUI/3.0.6": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-lS2AD3CrSMRnzwjrh9FxNYgU4CzPd7+XYwaX5TgurnDAFWkLGTZrLn4q05pDB/4TqwzAPcUJfwSlIgMtFtUEHg==",
- "path": "sunnyui/3.0.6",
- "hashPath": "sunnyui.3.0.6.nupkg.sha512"
- },
- "SunnyUI.Common/3.0.6": {
- "type": "package",
- "serviceable": true,
- "sha512": "sha512-yzYi+kU3zvox8QLQ34Hhgj3rg6nniwE2Tbt77sDDV/gM2++jqVCVYVIOwvd0p/eMqu1UrNsDQax6L8AGkfZMyA==",
- "path": "sunnyui.common/3.0.6",
- "hashPath": "sunnyui.common.3.0.6.nupkg.sha512"
- }
- }
-}
\ No newline at end of file
diff --git a/SunnyUI.Net5.Demo/bin/net5.0-windows/SunnyUI.Net5.Demo.dll b/SunnyUI.Net5.Demo/bin/net5.0-windows/SunnyUI.Net5.Demo.dll
deleted file mode 100644
index 6209ece6..00000000
Binary files a/SunnyUI.Net5.Demo/bin/net5.0-windows/SunnyUI.Net5.Demo.dll and /dev/null differ
diff --git a/SunnyUI.Net5.Demo/bin/net5.0-windows/SunnyUI.Net5.Demo.exe b/SunnyUI.Net5.Demo/bin/net5.0-windows/SunnyUI.Net5.Demo.exe
deleted file mode 100644
index 33b9f47d..00000000
Binary files a/SunnyUI.Net5.Demo/bin/net5.0-windows/SunnyUI.Net5.Demo.exe and /dev/null differ
diff --git a/SunnyUI.Net5.Demo/bin/net5.0-windows/SunnyUI.Net5.Demo.runtimeconfig.dev.json b/SunnyUI.Net5.Demo/bin/net5.0-windows/SunnyUI.Net5.Demo.runtimeconfig.dev.json
deleted file mode 100644
index 14df11c9..00000000
--- a/SunnyUI.Net5.Demo/bin/net5.0-windows/SunnyUI.Net5.Demo.runtimeconfig.dev.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "runtimeOptions": {
- "additionalProbingPaths": [
- "C:\\Users\\Sunny\\.dotnet\\store\\|arch|\\|tfm|",
- "C:\\Users\\Sunny\\.nuget\\packages",
- "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
- ]
- }
-}
\ No newline at end of file
diff --git a/SunnyUI.Net5.Demo/bin/net5.0-windows/SunnyUI.Net5.Demo.runtimeconfig.json b/SunnyUI.Net5.Demo/bin/net5.0-windows/SunnyUI.Net5.Demo.runtimeconfig.json
deleted file mode 100644
index dae617c0..00000000
--- a/SunnyUI.Net5.Demo/bin/net5.0-windows/SunnyUI.Net5.Demo.runtimeconfig.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "runtimeOptions": {
- "tfm": "net5.0",
- "framework": {
- "name": "Microsoft.WindowsDesktop.App",
- "version": "5.0.0"
- }
- }
-}
\ No newline at end of file
diff --git a/SunnyUI.Net5.Demo/bin/net5.0-windows/SunnyUI.dll b/SunnyUI.Net5.Demo/bin/net5.0-windows/SunnyUI.dll
deleted file mode 100644
index 74762afb..00000000
Binary files a/SunnyUI.Net5.Demo/bin/net5.0-windows/SunnyUI.dll and /dev/null differ
diff --git a/SunnyUI.Net5.Demo/bin/net5.0-windows/ref/SunnyUI.Net5.Demo.dll b/SunnyUI.Net5.Demo/bin/net5.0-windows/ref/SunnyUI.Net5.Demo.dll
deleted file mode 100644
index 96e93784..00000000
Binary files a/SunnyUI.Net5.Demo/bin/net5.0-windows/ref/SunnyUI.Net5.Demo.dll and /dev/null differ
diff --git a/SunnyUI/Controls/UIHeaderButton.cs b/SunnyUI/Controls/UIHeaderButton.cs
index cbb3889a..d26b4ba2 100644
--- a/SunnyUI/Controls/UIHeaderButton.cs
+++ b/SunnyUI/Controls/UIHeaderButton.cs
@@ -114,7 +114,7 @@ namespace Sunny.UI
[Description("多页面框架的页面索引"), Category("SunnyUI")]
public int PageIndex { get; set; }
- public Color symbolColor = Color.White;
+ private Color symbolColor = Color.White;
[DefaultValue(typeof(Color), "White")]
[Description("字体图标颜色"), Category("SunnyUI")]
@@ -361,7 +361,7 @@ namespace Sunny.UI
}
}
- public TextImageRelation textImageRelation = TextImageRelation.ImageAboveText;
+ private TextImageRelation textImageRelation = TextImageRelation.ImageAboveText;
[DefaultValue(TextImageRelation.ImageAboveText)]
[Description("指定图像与文本的相对位置"), Category("SunnyUI")]
diff --git a/SunnyUI/Controls/UIListBox.cs b/SunnyUI/Controls/UIListBox.cs
index f32f4d61..eb67aa86 100644
--- a/SunnyUI/Controls/UIListBox.cs
+++ b/SunnyUI/Controls/UIListBox.cs
@@ -279,13 +279,13 @@ namespace Sunny.UI
bar.Left = Width - bar.Width - 2;
}
- private void Listbox_BeforeDrawItem(object sender, ListBox.ObjectCollection items, DrawItemEventArgs e)
+ private void Listbox_BeforeDrawItem(object sender, ObjectCollection items, DrawItemEventArgs e)
{
if (Items.Count != LastCount)
{
listbox.SetScrollInfo();
LastCount = Items.Count;
- ItemsCountChange?.Invoke(this, null);
+ ItemsCountChange?.Invoke(this, EventArgs.Empty);
}
}
@@ -390,10 +390,10 @@ namespace Sunny.UI
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
[Localizable(true)]
- [Editor("System.Windows.Forms.Design.ListControlStringCollectionEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))]
+ [Editor("System.Windows.Forms.Design.ListControlStringCollectionEditor", typeof(UITypeEditor))]
[MergableProperty(false)]
[Description("列表项"), Category("SunnyUI")]
- public ListBox.ObjectCollection Items => listbox.Items;
+ public ObjectCollection Items => listbox.Items;
[Browsable(false)]
public int Count => Items.Count;
@@ -811,7 +811,7 @@ namespace Sunny.UI
Color foreColor = isSelected ? ItemSelectForeColor : ForeColor;
Rectangle rect = new Rectangle(e.Bounds.X, e.Bounds.Y, e.Bounds.Width - 1, e.Bounds.Height - 1);
- string showText = string.Empty;
+ string showText;
if (DisplayMember.IsNullOrEmpty())
{
showText = Items[e.Index].ToString();
diff --git a/SunnyUI/Controls/UIMillisecondTimer.cs b/SunnyUI/Controls/UIMillisecondTimer.cs
new file mode 100644
index 00000000..0e4310b7
--- /dev/null
+++ b/SunnyUI/Controls/UIMillisecondTimer.cs
@@ -0,0 +1,188 @@
+/******************************************************************************
+ * SunnyUI 开源控件库、工具类库、扩展类库、多页面开发框架。
+ * CopyRight (C) 2012-2021 ShenYongHua(沈永华).
+ * QQ群:56829229 QQ:17612584 EMail:SunnyUI@QQ.Com
+ *
+ * Blog: https://www.cnblogs.com/yhuse
+ * Gitee: https://gitee.com/yhuse/SunnyUI
+ * GitHub: https://github.com/yhuse/SunnyUI
+ *
+ * SunnyUI.dll can be used for free under the GPL-3.0 license.
+ * If you use this code, please keep this note.
+ * 如果您使用此代码,请保留此说明。
+ ******************************************************************************
+ * 文件名称: UIMillisecondTimer.cs
+ * 文件说明: 毫秒定时器
+ * 当前版本: V3.0
+ * 创建日期: 2021-08-15
+ *
+ * 2021-08-15: V3.0.6 增加文件说明
+******************************************************************************/
+
+using Sunny.UI.Win32;
+using System;
+using System.ComponentModel;
+using System.Runtime.InteropServices;
+
+namespace Sunny.UI
+{
+ [DefaultEvent("Tick")]
+ [DefaultProperty("Interval")]
+ public class UIMillisecondTimer : Component
+ {
+ public event EventHandler Tick;
+
+ ///
+ /// Initializes a new instance of the UIMillisecondTimer. />
+ /// class.
+ ///
+ public UIMillisecondTimer()
+ {
+ int result = WinMM.timeGetDevCaps(ref TimeCaps, Marshal.SizeOf(TimeCaps));
+ if (result != WinMM.TIMERR_NOERROR)
+ {
+ throw new Exception("毫秒定时器初始化失败");
+ }
+
+ Version = UIGlobal.Version;
+ interval = 50;
+ SetEventCallback = DoSetEventCallback;
+ }
+
+ ///
+ /// Initializes a new instance of the UIMillisecondTimer class with the specified container.
+ ///
+ public UIMillisecondTimer(IContainer container) : this()
+ {
+ if (container == null)
+ {
+ throw new ArgumentNullException(nameof(container));
+ }
+
+ container.Add(this);
+ }
+
+ public static bool CanUse()
+ {
+ TIMECAPS timeCaps = new TIMECAPS();
+ int result = WinMM.timeGetDevCaps(ref timeCaps, Marshal.SizeOf(timeCaps));
+ return result != WinMM.TIMERR_NOERROR;
+ }
+
+ protected override void Dispose(bool disposing)
+ {
+ Stop();
+ base.Dispose(disposing);
+ }
+
+ private void DoSetEventCallback(int uTimerID, uint uMsg, uint dwUser, UIntPtr dw1, UIntPtr dw2)
+ {
+ Tick?.Invoke(this, EventArgs.Empty);
+ }
+
+ [
+ Localizable(false),
+ Bindable(true),
+ DefaultValue(null),
+ TypeConverter(typeof(StringConverter))
+ ]
+ public object Tag { get; set; }
+
+ public string TagString { get; set; }
+
+ ///
+ /// 版本
+ ///
+ public string Version { get; }
+
+ private readonly TIMECAPS TimeCaps;
+
+ private int interval;
+
+ ///
+ /// Occurs when the specified timer interval has elapsed and the timer is enabled.
+ ///
+ [DefaultValue(50)]
+ public int Interval
+ {
+ get => interval;
+ set
+ {
+ if (interval == value || value < TimeCaps.wPeriodMin || value > TimeCaps.wPeriodMax)
+ return;
+
+ interval = value;
+
+ if (Enabled)
+ {
+ ReStart();
+ }
+ }
+ }
+
+ private bool enabled;
+
+ ///
+ /// Indicates whether the timer is running.
+ ///
+ [DefaultValue(false)]
+ public bool Enabled
+ {
+ get => enabled;
+ set
+ {
+ if (enabled == value) return;
+
+ if (!enabled)
+ {
+ int result = WinMM.timeSetEvent(interval, Math.Min(1, TimeCaps.wPeriodMin), SetEventCallback, 0, WinMM.TIME_MS);
+ if (result == 0)
+ {
+ throw new Exception("毫秒定时器启动失败");
+ }
+
+ TimerID = result;
+ }
+ else
+ {
+ if (TimerID > 0)
+ {
+ WinMM.timeKillEvent(TimerID);
+ TimerID = 0;
+ }
+ }
+
+ enabled = value;
+ }
+ }
+
+ private readonly WinMM.TimerSetEventCallback SetEventCallback;
+ private int TimerID;
+
+ ///
+ /// 开启定时器
+ ///
+ public void Start()
+ {
+ Enabled = true;
+ }
+
+ ///
+ /// 重启定时器
+ ///
+ public void ReStart()
+ {
+ Enabled = false;
+ Enabled = true;
+ }
+
+ ///
+ /// 停止定时器
+ ///
+ public void Stop()
+ {
+ Enabled = false;
+ }
+
+ }
+}
diff --git a/SunnyUI/Controls/UINavBar.cs b/SunnyUI/Controls/UINavBar.cs
index 7a0ab37d..9d73ac7e 100644
--- a/SunnyUI/Controls/UINavBar.cs
+++ b/SunnyUI/Controls/UINavBar.cs
@@ -24,6 +24,7 @@
using System;
using System.ComponentModel;
using System.Drawing;
+using System.Drawing.Design;
using System.Windows.Forms;
namespace Sunny.UI
@@ -299,6 +300,7 @@ namespace Sunny.UI
[Localizable(true)]
[MergableProperty(false)]
[Description("菜单栏显示节点集合"), Category("SunnyUI")]
+ [Editor("System.Windows.Forms.Design.TreeNodeCollectionEditor", typeof(UITypeEditor))]
public TreeNodeCollection Nodes => Menu.Nodes;
[DefaultValue(null)]
diff --git a/SunnyUI/Win32/Win32.Added.cs b/SunnyUI/Win32/Win32.Added.cs
index 5b8e68dd..6d578f37 100644
--- a/SunnyUI/Win32/Win32.Added.cs
+++ b/SunnyUI/Win32/Win32.Added.cs
@@ -102,4 +102,12 @@ namespace Sunny.UI.Win32
public static extern int GetPrivateProfileString(byte[] section, byte[] key, byte[] def, byte[] retVal, int size, string filePath);
}
+
+ public partial class WinMM
+ {
+ [DllImport("winmm.dll")]
+ public static extern int timeSetEvent(int uDelay, int uResolution, TimerSetEventCallback fptc, int dwUser, int uFlags);
+
+ public delegate void TimerSetEventCallback(int uTimerID, uint uMsg, uint dwUser, UIntPtr dw1, UIntPtr dw2);
+ }
}
diff --git a/SunnyUI/Win32/Win32.Multimedia.cs b/SunnyUI/Win32/Win32.Multimedia.cs
index 83aa2953..9e46ba52 100644
--- a/SunnyUI/Win32/Win32.Multimedia.cs
+++ b/SunnyUI/Win32/Win32.Multimedia.cs
@@ -523,7 +523,7 @@ namespace Sunny.UI.Win32
[DllImport("lz32")] public static extern int LZSeek(HANDLE hfFile, int lOffset, int nOrigin);
[DllImport("lz32")] public static extern void LZClose(HANDLE hfFile);
}
- public abstract class WinMM
+ public partial class WinMM
{
[DllImport("winmm")] public static extern int mciGetYieldProc(int mciId, ref int pdwYieldData);
[DllImport("winmm")] public static extern int mciSetYieldProc(int mciId, int fpYieldProc, int dwYieldData);