### 2020-12-27 dev更新

------

#### ryControls    V2.1.2012.2701
- *.[改进]IconViewEx控件选中背景颜色支持渐变。
- *.[改进]支持设置IconViewEx控件选中字体颜色。
This commit is contained in:
鑫Intel 2020-12-27 17:02:46 +08:00
parent 6e8d41e3d4
commit 6bc527a8a2
65 changed files with 41431 additions and 1278 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,2 +1,2 @@
[Money_Op] [Money_Op]
hwnd=3151110 hwnd=3411152

View File

@ -1,4 +1,4 @@
<root> <root>
<list id="LastUpdateTime" Value="2020/12/18 11:36:12" /> <list id="LastUpdateTime" Value="2020/12/27 16:40:03" />
<list id="UpdateAfterTime" Value="0" /> <list id="UpdateAfterTime" Value="0" />
</root> </root>

View File

@ -859,6 +859,18 @@
热键文本框 热键文本框
</summary> </summary>
</member> </member>
<member name="M:ryControls.HotkeyTextBox.Finalize">
<summary>
</summary>
</member>
<member name="M:ryControls.HotkeyTextBox.PreFilterMessage(System.Windows.Forms.Message@)">
<summary>
</summary>
<param name="m"></param>
<returns></returns>
</member>
<member name="M:ryControls.HotkeyTextBox.OnSizeChanged(System.EventArgs)"> <member name="M:ryControls.HotkeyTextBox.OnSizeChanged(System.EventArgs)">
<summary> <summary>
在控件大小变化时发生 在控件大小变化时发生
@ -931,6 +943,118 @@
使用代码编辑器修改此方法的内容。 使用代码编辑器修改此方法的内容。
</summary> </summary>
</member> </member>
<member name="T:ryControls.IconViewEx">
<summary>
图标列表控件
</summary>
</member>
<member name="M:ryControls.IconViewEx.#ctor">
<summary>
图标列表控件
</summary>
</member>
<member name="P:ryControls.IconViewEx.IconSize">
<summary>
图标大小
</summary>
</member>
<member name="P:ryControls.IconViewEx.TextHeight">
<summary>
文本显示高度(从底部算起)
</summary>
</member>
<member name="P:ryControls.IconViewEx.Icon">
<summary>
默认图标
</summary>
</member>
<member name="P:ryControls.IconViewEx.IsDrawIcon">
<summary>
是否显示图标
</summary>
</member>
<member name="P:ryControls.IconViewEx.IsDrawGridLines">
<summary>
是否显示网格线
</summary>
</member>
<member name="M:ryControls.IconViewEx.OnDrawItem(System.Windows.Forms.DrawListViewItemEventArgs)">
<summary>
画项
</summary>
<param name="e"></param>
</member>
<member name="P:ryControls.IconViewEx.SelectedStartBackColor">
<summary>
选择项的背景开始颜色
</summary>
</member>
<member name="P:ryControls.IconViewEx.SelectedEndBackColor">
<summary>
选择项的背景结束颜色
</summary>
</member>
<member name="P:ryControls.IconViewEx.SelectedBorderColor">
<summary>
选择项的边框颜色
</summary>
</member>
<member name="P:ryControls.IconViewEx.SelectedForeColor">
<summary>
选择项的字体颜色
</summary>
</member>
<member name="M:ryControls.IconViewEx.DrawSelectedBackground(System.Windows.Forms.DrawListViewItemEventArgs,System.Drawing.Graphics,System.Drawing.Rectangle)">
<summary>
重绘选中时背景
</summary>
</member>
<member name="M:ryControls.IconViewEx.DrawIcon(System.Drawing.Graphics,System.Drawing.Rectangle,System.Drawing.Image,System.Drawing.Color)">
<summary>
重绘图标
</summary>
<param name="g"></param>
<param name="r">区域大小</param>
<param name="image"></param>
<param name="backColor"></param>
<returns></returns>
</member>
<member name="M:ryControls.IconViewEx.DrawText(System.Windows.Forms.DrawListViewItemEventArgs,System.Drawing.Graphics,System.Drawing.Rectangle,System.Int32)">
<summary>
重绘文本
</summary>
</member>
<member name="M:ryControls.IconViewEx.GetFormatFlags(System.Windows.Forms.HorizontalAlignment)">
<summary>
获取文本对齐
</summary>
</member>
<member name="E:ryControls.IconViewEx.HScroll">
<summary>
水平滚动条滚动事件
</summary>
</member>
<member name="E:ryControls.IconViewEx.VScroll">
<summary>
垂直滚动条滚动事件
</summary>
</member>
<member name="M:ryControls.IconViewEx.WndProc(System.Windows.Forms.Message@)">
<summary>
</summary>
<param name="m"></param>
</member>
<member name="T:ryControls.Interface.IItemInfo">
<summary>
列表项
</summary>
</member>
<member name="P:ryControls.Interface.IItemInfo.Image">
<summary>
图标
</summary>
</member>
<member name="T:ryControls.MsgLink"> <member name="T:ryControls.MsgLink">
<summary> <summary>
@ -1624,6 +1748,11 @@
优先使用默认皮肤 优先使用默认皮肤
</summary> </summary>
</member> </member>
<member name="P:ryControls.rySearch.ColorGradient">
<summary>
背景色是否渐变
</summary>
</member>
<member name="P:ryControls.rySearch.BaseColor"> <member name="P:ryControls.rySearch.BaseColor">
<summary> <summary>
按钮基础背景色 按钮基础背景色

File diff suppressed because it is too large Load Diff

View File

@ -859,6 +859,18 @@
热键文本框 热键文本框
</summary> </summary>
</member> </member>
<member name="M:ryControls.HotkeyTextBox.Finalize">
<summary>
</summary>
</member>
<member name="M:ryControls.HotkeyTextBox.PreFilterMessage(System.Windows.Forms.Message@)">
<summary>
</summary>
<param name="m"></param>
<returns></returns>
</member>
<member name="M:ryControls.HotkeyTextBox.OnSizeChanged(System.EventArgs)"> <member name="M:ryControls.HotkeyTextBox.OnSizeChanged(System.EventArgs)">
<summary> <summary>
在控件大小变化时发生 在控件大小变化时发生
@ -931,6 +943,118 @@
使用代码编辑器修改此方法的内容。 使用代码编辑器修改此方法的内容。
</summary> </summary>
</member> </member>
<member name="T:ryControls.IconViewEx">
<summary>
图标列表控件
</summary>
</member>
<member name="M:ryControls.IconViewEx.#ctor">
<summary>
图标列表控件
</summary>
</member>
<member name="P:ryControls.IconViewEx.IconSize">
<summary>
图标大小
</summary>
</member>
<member name="P:ryControls.IconViewEx.TextHeight">
<summary>
文本显示高度(从底部算起)
</summary>
</member>
<member name="P:ryControls.IconViewEx.Icon">
<summary>
默认图标
</summary>
</member>
<member name="P:ryControls.IconViewEx.IsDrawIcon">
<summary>
是否显示图标
</summary>
</member>
<member name="P:ryControls.IconViewEx.IsDrawGridLines">
<summary>
是否显示网格线
</summary>
</member>
<member name="M:ryControls.IconViewEx.OnDrawItem(System.Windows.Forms.DrawListViewItemEventArgs)">
<summary>
画项
</summary>
<param name="e"></param>
</member>
<member name="P:ryControls.IconViewEx.SelectedStartBackColor">
<summary>
选择项的背景开始颜色
</summary>
</member>
<member name="P:ryControls.IconViewEx.SelectedEndBackColor">
<summary>
选择项的背景结束颜色
</summary>
</member>
<member name="P:ryControls.IconViewEx.SelectedBorderColor">
<summary>
选择项的边框颜色
</summary>
</member>
<member name="P:ryControls.IconViewEx.SelectedForeColor">
<summary>
选择项的字体颜色
</summary>
</member>
<member name="M:ryControls.IconViewEx.DrawSelectedBackground(System.Windows.Forms.DrawListViewItemEventArgs,System.Drawing.Graphics,System.Drawing.Rectangle)">
<summary>
重绘选中时背景
</summary>
</member>
<member name="M:ryControls.IconViewEx.DrawIcon(System.Drawing.Graphics,System.Drawing.Rectangle,System.Drawing.Image,System.Drawing.Color)">
<summary>
重绘图标
</summary>
<param name="g"></param>
<param name="r">区域大小</param>
<param name="image"></param>
<param name="backColor"></param>
<returns></returns>
</member>
<member name="M:ryControls.IconViewEx.DrawText(System.Windows.Forms.DrawListViewItemEventArgs,System.Drawing.Graphics,System.Drawing.Rectangle,System.Int32)">
<summary>
重绘文本
</summary>
</member>
<member name="M:ryControls.IconViewEx.GetFormatFlags(System.Windows.Forms.HorizontalAlignment)">
<summary>
获取文本对齐
</summary>
</member>
<member name="E:ryControls.IconViewEx.HScroll">
<summary>
水平滚动条滚动事件
</summary>
</member>
<member name="E:ryControls.IconViewEx.VScroll">
<summary>
垂直滚动条滚动事件
</summary>
</member>
<member name="M:ryControls.IconViewEx.WndProc(System.Windows.Forms.Message@)">
<summary>
</summary>
<param name="m"></param>
</member>
<member name="T:ryControls.Interface.IItemInfo">
<summary>
列表项
</summary>
</member>
<member name="P:ryControls.Interface.IItemInfo.Image">
<summary>
图标
</summary>
</member>
<member name="T:ryControls.MsgLink"> <member name="T:ryControls.MsgLink">
<summary> <summary>
@ -1624,6 +1748,11 @@
优先使用默认皮肤 优先使用默认皮肤
</summary> </summary>
</member> </member>
<member name="P:ryControls.rySearch.ColorGradient">
<summary>
背景色是否渐变
</summary>
</member>
<member name="P:ryControls.rySearch.BaseColor"> <member name="P:ryControls.rySearch.BaseColor">
<summary> <summary>
按钮基础背景色 按钮基础背景色

View File

@ -1900,6 +1900,13 @@
<param name="handle"></param> <param name="handle"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:ryCommon.RyFiles.AdminDragEnable(System.IntPtr)">
<summary>
使管理员方式运行时支持拖放
</summary>
<param name="handle"></param>
<returns></returns>
</member>
<member name="M:ryCommon.RyFiles.SaveHighQualityImage(System.Drawing.Bitmap,System.String,ryCommon.sType.ImageType)"> <member name="M:ryCommon.RyFiles.SaveHighQualityImage(System.Drawing.Bitmap,System.String,ryCommon.sType.ImageType)">
<summary> <summary>
保存高质量不失真照片 保存高质量不失真照片
@ -2684,6 +2691,12 @@
</summary> </summary>
</member> </member>
<member name="M:ElevatedDragDropManager.AdminDragEnable(System.IntPtr)">
<summary>
使管理员方式运行时支持拖放
</summary>
<param name="hWnd"></param>
</member>
<member name="M:ElevatedDragDropManager.EnableDragDrop(System.IntPtr)"> <member name="M:ElevatedDragDropManager.EnableDragDrop(System.IntPtr)">
<summary> <summary>
使支持拖放属性 使支持拖放属性

View File

@ -1900,6 +1900,13 @@
<param name="handle"></param> <param name="handle"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:ryCommon.RyFiles.AdminDragEnable(System.IntPtr)">
<summary>
使管理员方式运行时支持拖放
</summary>
<param name="handle"></param>
<returns></returns>
</member>
<member name="M:ryCommon.RyFiles.SaveHighQualityImage(System.Drawing.Bitmap,System.String,ryCommon.sType.ImageType)"> <member name="M:ryCommon.RyFiles.SaveHighQualityImage(System.Drawing.Bitmap,System.String,ryCommon.sType.ImageType)">
<summary> <summary>
保存高质量不失真照片 保存高质量不失真照片
@ -2684,6 +2691,12 @@
</summary> </summary>
</member> </member>
<member name="M:ElevatedDragDropManager.AdminDragEnable(System.IntPtr)">
<summary>
使管理员方式运行时支持拖放
</summary>
<param name="hWnd"></param>
</member>
<member name="M:ElevatedDragDropManager.EnableDragDrop(System.IntPtr)"> <member name="M:ElevatedDragDropManager.EnableDragDrop(System.IntPtr)">
<summary> <summary>
使支持拖放属性 使支持拖放属性

View File

@ -1,4 +1,21 @@
### 2020-12-19 dev 更新 ### 2020-12-27 dev更新
------
#### ryControls V2.1.2012.2701
- *.[改进]IconViewEx控件选中背景颜色支持渐变。
- *.[改进]支持设置IconViewEx控件选中字体颜色。
### 2020-12-21 dev 更新
------
#### ryControls V2.1.2012.1801
- *.[新增]新增IconViewEx控件可以显示图标
- *.[新增]rySearch控件新增ColorGradient按钮渐变属性。
- *.[修复]rySearch控件修复UseDefSkin属性无效的BUG。
- *.[修复]修复ButtonEx按钮渐变可能导致边角颜色不统一的BUG。
#### MyDb V2.1.2012.2001
- *.[新增]RyFiles和ElevatedDragDropManager类新增AdminDragEnable函数,表示在管理员模式下支持拖放操作。
### 2020-12-19 dev 更新
------ ------
#### MyDb V2.1.2012.1901 #### MyDb V2.1.2012.1901
- *.[新增]Hosts类AddHosts函数新增支持判断是否需要更新hosts文件(不写入)。 - *.[新增]Hosts类AddHosts函数新增支持判断是否需要更新hosts文件(不写入)。

View File

@ -1,128 +1,128 @@
using ryCommon; using ryCommon;
using ryCommonDb; using ryCommonDb;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Data; using System.Data;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using static ryCommonDb.DataProvider; using static ryCommonDb.DataProvider;
namespace Itrycn_Project namespace Itrycn_Project
{ {
public static class Itrycn_Db public static class Itrycn_Db
{ {
public static string SQLConnStr = "<app>\\UserDb\\myDb.dat|"; public static string SQLConnStr = "<app>\\UserDb\\myDb.dat|";
public static ryCommonDb.DataProvider.DataProviderType dataType = ryCommonDb.DataProvider.DataProviderType.SQLiteDataProvider; public static ryCommonDb.DataProvider.DataProviderType dataType = ryCommonDb.DataProvider.DataProviderType.SQLiteDataProvider;
public static IDbInterface CreateDataProvider() public static IDbInterface CreateDataProvider()
{ {
return CreateDataProvider(dataType); return CreateDataProvider(dataType);
} }
public static IDbInterface CreateDataProvider(DataProviderType dataProviderType) public static IDbInterface CreateDataProvider(DataProviderType dataProviderType)
{ {
switch (dataProviderType) switch (dataProviderType)
{ {
//case DataProviderType.OdbcDataProvider: //case DataProviderType.OdbcDataProvider:
// return new OdbcDataProvider(); // return new OdbcDataProvider();
//case DataProviderType.OleDbDataProvider: //case DataProviderType.OleDbDataProvider:
// return new OleDbDataProvider(); // return new OleDbDataProvider();
//case DataProviderType.OracleDataProvider: //case DataProviderType.OracleDataProvider:
// return new OracleDataProvider(); // return new OracleDataProvider();
case DataProviderType.SQLiteDataProvider: case DataProviderType.SQLiteDataProvider:
return new SQLiteDataProvider(); return new SQLiteDataProvider();
default: default:
return null; return null;
} }
} }
private static void CreateTable(ryCommonDb.DataProvider.DataProviderType dataType, string ConnStr) private static void CreateTable(ryCommonDb.DataProvider.DataProviderType dataType, string ConnStr)
{ {
DataProvider mydb = new DataProvider(); DataProvider mydb = new DataProvider();
IDbInterface db = CreateDataProvider(dataType); IDbInterface db = CreateDataProvider(dataType);
if (db.ConnDb(ConnStr) == 1) if (db.ConnDb(ConnStr) == 1)
{ {
#region 1 #region 1
RyQuickSQL mySQL = new RyQuickSQL("表1"); RyQuickSQL mySQL = new RyQuickSQL("表1");
mySQL.AddField("", ""); mySQL.AddField("", "");
mySQL.AddField("addTime", DateTime.Now); mySQL.AddField("addTime", DateTime.Now);
mySQL.AddField("editTime", DateTime.Now); mySQL.AddField("editTime", DateTime.Now);
db.CreateDb(mySQL); db.CreateDb(mySQL);
#endregion #endregion
// //
#region #region
mySQL.Clear(); mySQL.Clear();
mySQL.TableName = "Setting"; mySQL.TableName = "Setting";
mySQL.AddField("name", ""); mySQL.AddField("name", "");
mySQL.AddField("info", ""); mySQL.AddField("info", "");
db.CreateDb(mySQL); db.CreateDb(mySQL);
#endregion #endregion
} }
db.Free(); db.Free();
} }
/// <summary> /// <summary>
/// 保存设置 /// 保存设置
/// </summary> /// </summary>
/// <returns>返回大于0的数,表示设置成功,否则表示失败</returns> /// <returns>返回大于0的数,表示设置成功,否则表示失败</returns>
private static int SetSetting(string name ,string info) private static int SetSetting(string name ,string info)
{ {
DataProvider mydb = new DataProvider(); DataProvider mydb = new DataProvider();
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType); IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db.ConnDb(Itrycn_Db.SQLConnStr) == 1) if (db.ConnDb(Itrycn_Db.SQLConnStr) == 1)
{ {
RyQuickSQL mySQL = new RyQuickSQL("Setting"); RyQuickSQL mySQL = new RyQuickSQL("Setting");
mySQL.AddField("name", name); mySQL.AddField("name", name);
mySQL.AddField("info", info); mySQL.AddField("info", info);
var result = db.ExecuteNonQuery(mySQL.GetUpdateSQL() + " where name='" + name + "'", mySQL); var result = db.ExecuteNonQuery(mySQL.GetUpdateSQL() + " where name='" + name + "'", mySQL);
if (result == 0) if (result == 0)
{ {
result=db.ExecuteNonQuery(mySQL.GetInsertSQL(), mySQL); result=db.ExecuteNonQuery(mySQL.GetInsertSQL(), mySQL);
} }
return result; return result;
} }
db.Free(); db.Free();
return -1000; return -1000;
} }
/// <summary> /// <summary>
///获取设置 ///获取设置
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
private static string GetSetting(string name, string defValue) private static string GetSetting(string name, string defValue)
{ {
DataProvider mydb = new DataProvider(); DataProvider mydb = new DataProvider();
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType); IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
var result = defValue; var result = defValue;
if (db.ConnDb(Itrycn_Db.SQLConnStr) == 1) if (db.ConnDb(Itrycn_Db.SQLConnStr) == 1)
{ {
DataSet ds = db.ReadData("select * from Setting where name='"+ name + "'"); DataSet ds = db.ReadData("select * from Setting where name='"+ name + "'");
if (mydb.HaveData(ds)) if (mydb.HaveData(ds))
{ {
DataRow reader = ds.Tables[0].Rows[0]; DataRow reader = ds.Tables[0].Rows[0];
#region #region
result = reader["Name"].ToString(); result = reader["Name"].ToString();
#endregion #endregion
} }
} }
db.Free(); db.Free();
return result; return result;
} }
/// <summary> /// <summary>
/// 获取数据库版本 /// 获取数据库版本
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public static int GetDbVer() public static int GetDbVer()
{ {
return GetSetting("dbVer","1").ToInt(); return GetSetting("dbVer","1").ToInt();
} }
/// <summary> /// <summary>
/// 设置数据库版本 /// 设置数据库版本
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public static int SetDbVer(int DbVer) public static int SetDbVer(int DbVer)
{ {
return SetSetting("dbVer", DbVer.ToString()); return SetSetting("dbVer", DbVer.ToString());
} }
public static void CreateTable() public static void CreateTable()
{ {
CreateTable(dataType, SQLConnStr); CreateTable(dataType, SQLConnStr);
} }
} }
} }

View File

@ -31,6 +31,20 @@
private void InitializeComponent() private void InitializeComponent()
{ {
this.components = new System.ComponentModel.Container(); this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmStart));
System.Windows.Forms.ListViewItem listViewItem1 = new System.Windows.Forms.ListViewItem("144554545");
System.Windows.Forms.ListViewItem listViewItem2 = new System.Windows.Forms.ListViewItem("12112");
System.Windows.Forms.ListViewItem listViewItem3 = new System.Windows.Forms.ListViewItem("1121");
System.Windows.Forms.ListViewItem listViewItem4 = new System.Windows.Forms.ListViewItem("112");
System.Windows.Forms.ListViewItem listViewItem5 = new System.Windows.Forms.ListViewItem("12");
System.Windows.Forms.ListViewItem listViewItem6 = new System.Windows.Forms.ListViewItem("2121");
System.Windows.Forms.ListViewItem listViewItem7 = new System.Windows.Forms.ListViewItem("2112");
System.Windows.Forms.ListViewItem listViewItem8 = new System.Windows.Forms.ListViewItem("1212");
System.Windows.Forms.ListViewItem listViewItem9 = new System.Windows.Forms.ListViewItem("2112");
System.Windows.Forms.ListViewItem listViewItem10 = new System.Windows.Forms.ListViewItem("1212");
System.Windows.Forms.ListViewItem listViewItem11 = new System.Windows.Forms.ListViewItem("2112");
System.Windows.Forms.ListViewItem listViewItem12 = new System.Windows.Forms.ListViewItem("1212");
System.Windows.Forms.ListViewItem listViewItem13 = new System.Windows.Forms.ListViewItem("1244");
this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components); this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components);
this.MenuTray = new System.Windows.Forms.ContextMenuStrip(this.components); this.MenuTray = new System.Windows.Forms.ContextMenuStrip(this.components);
this.ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@ -41,9 +55,12 @@
this.ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.chromeTabControl1 = new ryControls.ChromeTabControl(); this.chromeTabControl1 = new ryControls.ChromeTabControl();
this.tabPage1 = new System.Windows.Forms.TabPage(); this.tabPage1 = new System.Windows.Forms.TabPage();
this.iconViewEx1 = new ryControls.IconViewEx();
this.hotkeyTextBox1 = new ryControls.HotkeyTextBox();
this.MenuTray.SuspendLayout(); this.MenuTray.SuspendLayout();
this.menuStrip1.SuspendLayout(); this.menuStrip1.SuspendLayout();
this.chromeTabControl1.SuspendLayout(); this.chromeTabControl1.SuspendLayout();
this.tabPage1.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// notifyIcon1 // notifyIcon1
@ -130,6 +147,8 @@
// //
// tabPage1 // tabPage1
// //
this.tabPage1.Controls.Add(this.hotkeyTextBox1);
this.tabPage1.Controls.Add(this.iconViewEx1);
this.tabPage1.Location = new System.Drawing.Point(1, 29); this.tabPage1.Location = new System.Drawing.Point(1, 29);
this.tabPage1.Name = "tabPage1"; this.tabPage1.Name = "tabPage1";
this.tabPage1.Padding = new System.Windows.Forms.Padding(3); this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
@ -138,6 +157,52 @@
this.tabPage1.Text = "首页"; this.tabPage1.Text = "首页";
this.tabPage1.UseVisualStyleBackColor = true; this.tabPage1.UseVisualStyleBackColor = true;
// //
// iconViewEx1
//
this.iconViewEx1.HideSelection = false;
this.iconViewEx1.Icon = ((System.Drawing.Image)(resources.GetObject("iconViewEx1.Icon")));
this.iconViewEx1.IconSize = 64;
this.iconViewEx1.IsDrawGridLines = false;
this.iconViewEx1.IsDrawIcon = true;
this.iconViewEx1.Items.AddRange(new System.Windows.Forms.ListViewItem[] {
listViewItem1,
listViewItem2,
listViewItem3,
listViewItem4,
listViewItem5,
listViewItem6,
listViewItem7,
listViewItem8,
listViewItem9,
listViewItem10,
listViewItem11,
listViewItem12,
listViewItem13});
this.iconViewEx1.Location = new System.Drawing.Point(161, 88);
this.iconViewEx1.MultiSelect = false;
this.iconViewEx1.Name = "iconViewEx1";
this.iconViewEx1.OwnerDraw = true;
this.iconViewEx1.SelectedBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(229)))), ((int)(((byte)(195)))), ((int)(((byte)(101)))));
this.iconViewEx1.SelectedEndBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(236)))), ((int)(((byte)(181)))));
this.iconViewEx1.SelectedStartBackColor = System.Drawing.Color.LightYellow;
this.iconViewEx1.Size = new System.Drawing.Size(451, 341);
this.iconViewEx1.TabIndex = 0;
this.iconViewEx1.TextHeight = 20;
this.iconViewEx1.TileSize = new System.Drawing.Size(100, 100);
this.iconViewEx1.UseCompatibleStateImageBehavior = false;
this.iconViewEx1.View = System.Windows.Forms.View.Tile;
//
// hotkeyTextBox1
//
this.hotkeyTextBox1.BackColor = System.Drawing.Color.White;
this.hotkeyTextBox1.HotKey = "0+0";
this.hotkeyTextBox1.Location = new System.Drawing.Point(85, 124);
this.hotkeyTextBox1.Name = "hotkeyTextBox1";
this.hotkeyTextBox1.Size = new System.Drawing.Size(278, 44);
this.hotkeyTextBox1.T_Key = System.Windows.Forms.Keys.None;
this.hotkeyTextBox1.T_Modifiers = 0;
this.hotkeyTextBox1.TabIndex = 1;
//
// FrmStart // FrmStart
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
@ -155,6 +220,7 @@
this.menuStrip1.ResumeLayout(false); this.menuStrip1.ResumeLayout(false);
this.menuStrip1.PerformLayout(); this.menuStrip1.PerformLayout();
this.chromeTabControl1.ResumeLayout(false); this.chromeTabControl1.ResumeLayout(false);
this.tabPage1.ResumeLayout(false);
this.ResumeLayout(false); this.ResumeLayout(false);
this.PerformLayout(); this.PerformLayout();
@ -172,5 +238,7 @@
private System.Windows.Forms.ToolStripMenuItem ToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem ToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem ToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem ToolStripMenuItem;
private ryControls.IconViewEx iconViewEx1;
private ryControls.HotkeyTextBox hotkeyTextBox1;
} }
} }

View File

@ -127,6 +127,7 @@ namespace Itrycn_Project2
private void FrmStart_Load(object sender, EventArgs e) private void FrmStart_Load(object sender, EventArgs e)
{ {
RyFiles.AddDropDrag(tabPage1.Handle);
Itrycn_Project.Itrycn_Db.CreateTable(); Itrycn_Project.Itrycn_Db.CreateTable();
LiveUpdate.RyUpdate update = new LiveUpdate.RyUpdate(Soft_Info.Update_Url); LiveUpdate.RyUpdate update = new LiveUpdate.RyUpdate(Soft_Info.Update_Url);
update.CheckUpdate(); update.CheckUpdate();

File diff suppressed because it is too large Load Diff

View File

@ -96,9 +96,9 @@ public class ElevatedDragDropManager : IMessageFilter
private const uint WM_COPYDATA = 0x4a; private const uint WM_COPYDATA = 0x4a;
private const uint WM_COPYGLOBALDATA = 0x49; private const uint WM_COPYGLOBALDATA = 0x49;
private readonly bool IsVistaOrHigher = Environment.OSVersion.Version.Major >= 6; public readonly static bool IsVistaOrHigher = Environment.OSVersion.Version.Major >= 6;
private readonly bool Is7OrHigher = (Environment.OSVersion.Version.Major == 6 && Environment.OSVersion.Version.Minor >= 1) || Environment.OSVersion.Version.Major > 6; public readonly static bool Is7OrHigher = (Environment.OSVersion.Version.Major == 6 && Environment.OSVersion.Version.Minor >= 1) || Environment.OSVersion.Version.Major > 6;
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
@ -107,6 +107,27 @@ public class ElevatedDragDropManager : IMessageFilter
Application.AddMessageFilter(this); Application.AddMessageFilter(this);
} }
/// <summary> /// <summary>
/// 使管理员方式运行时支持拖放
/// </summary>
/// <param name="hWnd"></param>
public static void AdminDragEnable(IntPtr hWnd)
{
if (Is7OrHigher)
{
CHANGEFILTERSTRUCT changeStruct = new CHANGEFILTERSTRUCT();
changeStruct.cbSize = Convert.ToUInt32(Marshal.SizeOf(typeof(CHANGEFILTERSTRUCT)));
ChangeWindowMessageFilterEx(hWnd, WM_DROPFILES, ChangeWindowMessageFilterExAction.Allow, ref changeStruct);
ChangeWindowMessageFilterEx(hWnd, WM_COPYDATA, ChangeWindowMessageFilterExAction.Allow, ref changeStruct);
ChangeWindowMessageFilterEx(hWnd, WM_COPYGLOBALDATA, ChangeWindowMessageFilterExAction.Allow, ref changeStruct);
}
else if (IsVistaOrHigher)
{
ChangeWindowMessageFilter(WM_DROPFILES, ChangeWindowMessageFilterFlags.Add);
ChangeWindowMessageFilter(WM_COPYDATA, ChangeWindowMessageFilterFlags.Add);
ChangeWindowMessageFilter(WM_COPYGLOBALDATA, ChangeWindowMessageFilterFlags.Add);
}
}
/// <summary>
/// 使支持拖放属性 /// 使支持拖放属性
/// </summary> /// </summary>
/// <param name="hWnd"></param> /// <param name="hWnd"></param>

View File

@ -1,120 +1,120 @@
using ryCommon; using ryCommon;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
namespace ryCommon namespace ryCommon
{ {
/// <summary> /// <summary>
/// Hosts操作类 /// Hosts操作类
/// </summary> /// </summary>
public static class Hosts public static class Hosts
{ {
/// <summary> /// <summary>
/// 获取并转换hosts内容 /// 获取并转换hosts内容
/// </summary> /// </summary>
/// <param name="content">hosts内容</param> /// <param name="content">hosts内容</param>
/// <returns></returns> /// <returns></returns>
public static List<HostInfo> GetHosts(string content) public static List<HostInfo> GetHosts(string content)
{ {
var list = new List<HostInfo>(); var list = new List<HostInfo>();
var from_list = content.Replace("\r", "").Replace("\t", " ").Split('\n'); var from_list = content.Replace("\r", "").Replace("\t", " ").Split('\n');
for (int i = 0; i < from_list.Length; i++) for (int i = 0; i < from_list.Length; i++)
{ {
var item = from_list[i].Trim(); var item = from_list[i].Trim();
if (item.IndexOfEx("#") == 0) { list.Add(new HostInfo() { Comment=item }); continue; } if (item.IndexOfEx("#") == 0) { list.Add(new HostInfo() { Comment=item }); continue; }
int pos = item.IndexOfEx(" "); int pos = item.IndexOfEx(" ");
if (pos <= 0) { if (pos <= 0) {
if (item.StartsWith("!", StringComparison.OrdinalIgnoreCase)) if (item.StartsWith("!", StringComparison.OrdinalIgnoreCase))
{ {
list.Add(new HostInfo() { IP = "", Domain = item.Substring(1), IsDel = true }); list.Add(new HostInfo() { IP = "", Domain = item.Substring(1), IsDel = true });
} }
continue; continue;
} }
var ip = item.Substring(0, pos);//ip var ip = item.Substring(0, pos);//ip
bool isDel = false; bool isDel = false;
if(ip.StartsWith("!", StringComparison.OrdinalIgnoreCase)) if(ip.StartsWith("!", StringComparison.OrdinalIgnoreCase))
{ {
isDel = true;ip = ip.Substring(1); isDel = true;ip = ip.Substring(1);
} }
var domain = item.Substring(pos + 1).Trim();//域名 var domain = item.Substring(pos + 1).Trim();//域名
list.Add(new HostInfo() {IP=ip,Domain=domain,IsDel=isDel }); list.Add(new HostInfo() {IP=ip,Domain=domain,IsDel=isDel });
} }
return list; return list;
}
/// <summary>
/// 获取hosts并转换hosts内容
/// </summary>
/// <param name="list">hosts内容</param>
/// <returns></returns>
public static List<HostInfo> GetHosts()
{
var hosts_path = ryCommon.RyFiles.GetRealPath("<sys>\\drivers\\etc\\hosts");
var content = ryCommon.RyFiles.ReadAllText(hosts_path).Trim();
return GetHosts(content);
} }
/// <summary> /// <summary>
/// 追加内容到hosts里 /// 获取hosts并转换hosts内容
/// </summary> /// </summary>
/// <param name="list">要追加的内容列表每一行为ip 域名的格式</param> /// <param name="list">hosts内容</param>
/// <returns></returns>
public static List<HostInfo> GetHosts()
{
var hosts_path = ryCommon.RyFiles.GetRealPath("<sys>\\drivers\\etc\\hosts");
var content = ryCommon.RyFiles.ReadAllText(hosts_path).Trim();
return GetHosts(content);
}
/// <summary>
/// 追加内容到hosts里
/// </summary>
/// <param name="list">要追加的内容列表每一行为ip 域名的格式</param>
/// <returns>0表示无需新增,-1表示添加失败,1表示追加成功</returns> /// <returns>0表示无需新增,-1表示添加失败,1表示追加成功</returns>
public static int AddHosts(string list) public static int AddHosts(string list)
{ {
return AddHosts(list,true); return AddHosts(list,true);
} }
/// <summary> /// <summary>
/// write为true,追加内容到hosts里;为false,判断是否需要追加 /// write为true,追加内容到hosts里;为false,判断是否需要追加
/// </summary> /// </summary>
/// <param name="list">要追加的内容列表每一行为ip 域名的格式</param> /// <param name="list">要追加的内容列表每一行为ip 域名的格式</param>
/// <param name="write">是否要写入,如果为false,则只判断是否需要追加,而不写入Hosts文件</param> /// <param name="write">是否要写入,如果为false,则只判断是否需要追加,而不写入Hosts文件</param>
/// <returns>0表示无需新增,-1表示添加失败,1表示追加成功</returns> /// <returns>0表示无需新增,-1表示添加失败,1表示追加成功</returns>
public static int AddHosts(string list,bool write) public static int AddHosts(string list,bool write)
{ {
var hosts_path= ryCommon.RyFiles.GetRealPath("<sys>\\drivers\\etc\\hosts"); var hosts_path= ryCommon.RyFiles.GetRealPath("<sys>\\drivers\\etc\\hosts");
var content = ryCommon.RyFiles.ReadAllText(hosts_path).Trim(); var content = ryCommon.RyFiles.ReadAllText(hosts_path).Trim();
var from_list = GetHosts(content); var from_list = GetHosts(content);
var _list = GetHosts(list); var _list = GetHosts(list);
bool isAdd = false;//是否有增加数据到hosts里 bool isAdd = false;//是否有增加数据到hosts里
for (int i = 0; i < _list.Count; i++) for (int i = 0; i < _list.Count; i++)
{ {
bool HaveRecord = false; bool HaveRecord = false;
for (int m = from_list.Count-1; m>0; m--) //去host文件里查找是否已含有该内容 for (int m = from_list.Count-1; m>0; m--) //去host文件里查找是否已含有该内容
{ {
if (from_list[m].Comment.Length > 0) { continue; } if (from_list[m].Comment.Length > 0) { continue; }
if(_list[i].Domain.ToLower()== from_list[m].Domain.ToLower()) if(_list[i].Domain.ToLower()== from_list[m].Domain.ToLower())
{ {
if (_list[i].IP.Length == 0 && _list[i].IsDel) if (_list[i].IP.Length == 0 && _list[i].IsDel)
{ {
from_list.RemoveAt(m); from_list.RemoveAt(m);
HaveRecord = true; HaveRecord = true;
} }
else else
{ {
if (_list[i].IP != from_list[m].IP) //如果同样域名对应的ip不一样,则删除该项,然后再插入新的ip if (_list[i].IP != from_list[m].IP) //如果同样域名对应的ip不一样,则删除该项,然后再插入新的ip
{ {
from_list.RemoveAt(m); from_list.RemoveAt(m);
HaveRecord = false; HaveRecord = false;
} }
else else
{ {
if (_list[i].IsDel) //如果ip和网址一致,并且标注为删除,则删除 if (_list[i].IsDel) //如果ip和网址一致,并且标注为删除,则删除
{ {
from_list.RemoveAt(m); from_list.RemoveAt(m);
} }
HaveRecord = true; HaveRecord = true;
} }
} }
} }
} }
if(!HaveRecord) if(!HaveRecord)
{ {
isAdd = true; isAdd = true;
from_list.Add(_list[i]); from_list.Add(_list[i]);
} }
} }
if (isAdd) if (isAdd)
{ {
if (write) if (write)
{ {
try try
@ -138,114 +138,114 @@ namespace ryCommon
{ {
return -1; return -1;
} }
} }
} }
else else
{ return 0; } { return 0; }
return 1; return 1;
} }
/// <summary> /// <summary>
/// 追加内容到hosts里 /// 追加内容到hosts里
/// </summary> /// </summary>
/// <param name="item">要追加的内容</param> /// <param name="item">要追加的内容</param>
/// <returns>0表示无需新增,-1表示添加失败,1表示追加成功</returns> /// <returns>0表示无需新增,-1表示添加失败,1表示追加成功</returns>
public static int AddHosts(HostInfo item) public static int AddHosts(HostInfo item)
{ {
return AddHosts(item.IP + "\t" + item.Domain); return AddHosts(item.IP + "\t" + item.Domain);
} }
/// <summary> /// <summary>
/// 追加内容到hosts里 /// 追加内容到hosts里
/// </summary> /// </summary>
/// <param name="ip">ip地址</param> /// <param name="ip">ip地址</param>
/// <param name="domain">域名</param> /// <param name="domain">域名</param>
/// <returns>0表示无需新增,-1表示添加失败,1表示追加成功</returns> /// <returns>0表示无需新增,-1表示添加失败,1表示追加成功</returns>
public static int AddHosts(string ip,string domain) public static int AddHosts(string ip,string domain)
{ {
return AddHosts(ip + "\t" + domain); return AddHosts(ip + "\t" + domain);
} }
/// <summary> /// <summary>
/// 从hosts文件里删除内容 /// 从hosts文件里删除内容
/// </summary> /// </summary>
/// <param name="item">要删除的内容</param> /// <param name="item">要删除的内容</param>
/// <returns>0表示无需删除,-1表示添加失败,1表示删除成功</returns> /// <returns>0表示无需删除,-1表示添加失败,1表示删除成功</returns>
public static int DelHosts(HostInfo item) public static int DelHosts(HostInfo item)
{ {
var hosts_path = ryCommon.RyFiles.GetRealPath("<sys>\\drivers\\etc\\hosts"); var hosts_path = ryCommon.RyFiles.GetRealPath("<sys>\\drivers\\etc\\hosts");
var content = ryCommon.RyFiles.ReadAllText(hosts_path).Trim(); var content = ryCommon.RyFiles.ReadAllText(hosts_path).Trim();
var from_list = GetHosts(content); var from_list = GetHosts(content);
bool IsDel = false; bool IsDel = false;
for (int i = from_list.Count-1; i>=0; i++) for (int i = from_list.Count-1; i>=0; i++)
{ {
if(from_list[i].IP==item.IP && from_list[i].Domain.ToLower()==item.Domain.ToLower()) if(from_list[i].IP==item.IP && from_list[i].Domain.ToLower()==item.Domain.ToLower())
{ {
from_list.RemoveAt(i); from_list.RemoveAt(i);
IsDel = true; IsDel = true;
} }
else if (item.IP.Length==0 && from_list[i].Domain.ToLower() == item.Domain.ToLower()) else if (item.IP.Length==0 && from_list[i].Domain.ToLower() == item.Domain.ToLower())
{ {
from_list.RemoveAt(i); from_list.RemoveAt(i);
IsDel = true; IsDel = true;
} }
} }
var text = ""; var text = "";
for (int i = 0; i < from_list.Count; i++) for (int i = 0; i < from_list.Count; i++)
{ {
if (text.Length > 0) { text += "\r\n"; } if (text.Length > 0) { text += "\r\n"; }
if(from_list[i].Comment.Length>0) if(from_list[i].Comment.Length>0)
{ {
text += from_list[i].Comment; text += from_list[i].Comment;
} }
else else
{ {
text += from_list[i].IP+"\t"+ from_list[i].Domain; text += from_list[i].IP+"\t"+ from_list[i].Domain;
} }
} }
if (IsDel) if (IsDel)
{ {
try try
{ {
ryCommon.RyFiles.WriteAllText(hosts_path, text, Encoding.UTF8); ryCommon.RyFiles.WriteAllText(hosts_path, text, Encoding.UTF8);
} }
catch catch
{ {
return -1; return -1;
} }
} }
else else
{ return 0; } { return 0; }
return 1; return 1;
} }
/// <summary> /// <summary>
/// 从hosts文件里删除内容 /// 从hosts文件里删除内容
/// </summary> /// </summary>
/// <param name="ip">ip地址</param> /// <param name="ip">ip地址</param>
/// <param name="domain">域名</param> /// <param name="domain">域名</param>
/// <returns>0表示无需删除,-1表示添加失败,1表示删除成功</returns> /// <returns>0表示无需删除,-1表示添加失败,1表示删除成功</returns>
public static int DelHosts(string ip, string domain) public static int DelHosts(string ip, string domain)
{ {
return DelHosts(new HostInfo() {IP=ip,Domain=domain }); return DelHosts(new HostInfo() {IP=ip,Domain=domain });
} }
} }
/// <summary> /// <summary>
/// Host信息 /// Host信息
/// </summary> /// </summary>
public class HostInfo public class HostInfo
{ {
/// <summary> /// <summary>
/// IP /// IP
/// </summary> /// </summary>
public string IP { get; set; } = ""; public string IP { get; set; } = "";
/// <summary> /// <summary>
/// 域名 /// 域名
/// </summary> /// </summary>
public string Domain { get; set; } = ""; public string Domain { get; set; } = "";
/// <summary> /// <summary>
/// 注释 /// 注释
/// </summary> /// </summary>
public string Comment { get; set; } = ""; public string Comment { get; set; } = "";
/// <summary> /// <summary>
/// 是否要删除 /// 是否要删除
/// </summary> /// </summary>
public bool IsDel { get; set; } = false; public bool IsDel { get; set; } = false;
} }
} }

View File

@ -885,6 +885,15 @@ namespace ryCommon
return ElevatedDragDropManager.Instance; return ElevatedDragDropManager.Instance;
} }
/// <summary> /// <summary>
/// 使管理员方式运行时支持拖放
/// </summary>
/// <param name="handle"></param>
/// <returns></returns>
public static void AdminDragEnable(IntPtr handle)
{
ElevatedDragDropManager.AdminDragEnable(handle);
}
/// <summary>
/// 保存高质量不失真照片 /// 保存高质量不失真照片
/// </summary> /// </summary>
/// <param name="m"></param> /// <param name="m"></param>

View File

@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值, //可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值,
// 方法是按如下所示使用“*”: : // 方法是按如下所示使用“*”: :
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("2.1.2012.1901")] [assembly: AssemblyVersion("2.1.2012.2001")]
[assembly: AssemblyFileVersion("2.1.2012.1901")] [assembly: AssemblyFileVersion("2.1.2012.2001")]

Binary file not shown.

Binary file not shown.

View File

@ -701,7 +701,7 @@ namespace ryControls
// rectTop.Width = (int)(rect.Width * basePosition); // rectTop.Width = (int)(rect.Width * basePosition);
} }
using (GraphicsPath pathTop = Drawing.CreatePath( using (GraphicsPath pathTop = Drawing.CreatePath(
rectTop, roundWidth, RoundStyle.Top, false)) rectTop, roundWidth, style, false))
{ {
if (ColorGradient) if (ColorGradient)
{ {

View File

@ -12,7 +12,7 @@ namespace ryControls
/// <summary> /// <summary>
/// 热键文本框 /// 热键文本框
/// </summary> /// </summary>
public partial class HotkeyTextBox : UserControl public partial class HotkeyTextBox : UserControl,IMessageFilter
{ {
Keys m_Modifiers =Keys.None; Keys m_Modifiers =Keys.None;
Keys m_Key =Keys.None; Keys m_Key =Keys.None;
@ -29,9 +29,30 @@ namespace ryControls
TxtHotKey.KeyDown += TxtHotKey_KeyDown; TxtHotKey.KeyDown += TxtHotKey_KeyDown;
TxtHotKey.KeyUp += TxtHotKey_KeyUp; TxtHotKey.KeyUp += TxtHotKey_KeyUp;
TxtHotKey.Top = (Height - TxtHotKey.Height) / 2; TxtHotKey.Top = (Height - TxtHotKey.Height) / 2;
//Application.AddMessageFilter(this);
base.BackColor = Color.White; base.BackColor = Color.White;
} }
/// <summary>
///
/// </summary>
~HotkeyTextBox()
{
// Application.RemoveMessageFilter(this);
}
/// <summary>
///
/// </summary>
/// <param name="m"></param>
/// <returns></returns>
public bool PreFilterMessage(ref Message m)
{
//if (m.Msg == 0x0100)
//{
// var key=(Keys)(m.WParam.ToInt32());
// return false;
//}
return false;
}
/// <summary> /// <summary>
/// 在控件大小变化时发生 /// 在控件大小变化时发生
/// </summary> /// </summary>

View File

@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
namespace ryControls.Interface
{
/// <summary>
/// 列表项
/// </summary>
public interface IItemInfo
{
/// <summary>
/// 图标
/// </summary>
Image Image { get; set; }
}
}

View File

@ -0,0 +1,318 @@
using System;
using System.ComponentModel;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Windows.Forms;
namespace ryControls
{
/// <summary>
/// 图标列表控件
/// </summary>
public class IconViewEx : ListView
{
private ColumnHeader columnHeader1;
/// <summary>
/// 图标列表控件
/// </summary>
public IconViewEx() :
base()
{
// 开启双缓冲
this.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint, true);
this.OwnerDraw = true;//用于启用重绘
this.View = View.Tile;
this.TileSize = new Size(100,100);
this.MultiSelect = false;
}
private int iconsize = 64;
/// <summary>
/// 图标大小
/// </summary>
[Description("图标大小")]
public int IconSize {
get { return iconsize; }
set
{
if(value>14 && value<=512)
{
iconsize = value;
}
else { iconsize = 64; }
}
}
private int textheight = 20;
/// <summary>
/// 文本显示高度(从底部算起)
/// </summary>
[Description("文本显示高度(从底部算起)")]
public int TextHeight
{
get { return textheight; }
set
{
if (value > 5 && value <= 100)
{
textheight = value;
}
else { textheight = 20; }
}
}
/// <summary>
/// 默认图标
/// </summary>
[Description("默认图标")]
public Image Icon { get; set; }
/// <summary>
/// 是否显示图标
/// </summary>
[Description("是否显示图标")]
public bool IsDrawIcon { get; set; } = true;
/// <summary>
/// 是否显示网格线
/// </summary>
[Description("是否显示网格线")]
public bool IsDrawGridLines { get; set; }
/// <summary>
/// 画项
/// </summary>
/// <param name="e"></param>
protected override void OnDrawItem(DrawListViewItemEventArgs e)
{
Rectangle r = e.Bounds;
Graphics g = e.Graphics;
DrawSelectedBackground(e, g, r);
int paddingHeight = 0;
if (IsDrawIcon)
{
var soft = (Interface.IItemInfo)e.Item.Tag;
if (soft == null || soft.Image == null)
{ paddingHeight = this.DrawIcon(g, r, this.Icon, e.Item.BackColor).Height; }
else
{
paddingHeight = this.DrawIcon(g, r, soft.Image, e.Item.BackColor).Height;
}
}
//if (IsDrawGridLines)
//{
// using (Pen pen = new Pen(Color.Gray))
// {
// g.DrawRectangle(pen, r.X, r.Y, r.Width, r.Height + 1);//高度加1使横向线条重叠
// }
//}
if (!string.IsNullOrEmpty(e.Item.Text))
{
this.DrawText(e, g, r, paddingHeight);
}
}
private Color _SelectedStartBackColor = Color.FromArgb(255, 251, 237);
/// <summary>
/// 选择项的背景开始颜色
/// </summary>
[Description("选择项的背景开始颜色")]
public Color SelectedStartBackColor
{
get
{
return _SelectedStartBackColor;
}
set
{
_SelectedStartBackColor = value;
this.Refresh();
}
}
private Color _SelectedEndBackColor = Color.FromArgb(255, 236, 181);
/// <summary>
/// 选择项的背景结束颜色
/// </summary>
[Description("选择项的背景结束颜色")]
public Color SelectedEndBackColor
{
get
{
return _SelectedEndBackColor;
}
set
{
_SelectedEndBackColor = value;
this.Refresh();
}
}
private Color _SelectedBorderColor = Color.FromArgb(229, 195, 101);
/// <summary>
/// 选择项的边框颜色
/// </summary>
[Description("选择项的边框颜色")]
public Color SelectedBorderColor
{
get
{
return _SelectedBorderColor;
}
set
{
_SelectedBorderColor = value;
this.Refresh();
}
}
private Color _SelectedForeColor = Color.Black;
/// <summary>
/// 选择项的字体颜色
/// </summary>
[Description("选择项的字体颜色")]
public Color SelectedForeColor
{
get
{
return _SelectedForeColor;
}
set
{
_SelectedForeColor = value;
this.Refresh();
}
}
/// <summary>
/// 重绘选中时背景
/// </summary>
private void DrawSelectedBackground(DrawListViewItemEventArgs e, Graphics g, Rectangle r)
{
if (e.Item.Selected)
{
//渐变画刷
LinearGradientBrush brush = new LinearGradientBrush(e.Bounds, _SelectedStartBackColor,
_SelectedEndBackColor, LinearGradientMode.Vertical);
//填充区域
//Rectangle borderRect = new Rectangle(r, e.Bounds.Y, e.Bounds.Width - 5, e.Bounds.Height - 2);
e.Graphics.FillRectangle(brush, r);
brush.Dispose();
////画边框
Pen pen = new Pen(_SelectedBorderColor);
Rectangle borderRect = r;
borderRect.Width--;
borderRect.Height--;
e.Graphics.DrawRectangle(pen, borderRect);
pen.Dispose();
//using (SolidBrush brush = new SolidBrush(_SelectedBackColor))
//{
// g.FillRectangle(brush, r);
//}
}
}
/// <summary>
/// 重绘图标
/// </summary>
/// <param name="g"></param>
/// <param name="r">区域大小</param>
/// <param name="image"></param>
/// <param name="backColor"></param>
/// <returns></returns>
private Size DrawIcon(Graphics g, Rectangle r, Image image, Color backColor)
{
var x = r.X + ((r.Width - iconsize) / 2);
var y = r.Y + ((r.Height - textheight - iconsize) / 2);
Rectangle imageBounds = new Rectangle(new Point(x,y), new Size(iconsize, iconsize));
if (image.Width > image.Height)
{
imageBounds.Height =(int)((image.Height/(double)image.Width)* imageBounds.Width);
y += ((iconsize - imageBounds.Height) / 2);
}
else
{
x += ((iconsize - imageBounds.Width) / 2);
imageBounds.Width = (int)((image.Width / (double)image.Height) * imageBounds.Height);
}
imageBounds.X = x;
imageBounds.Y = y;
//imageBounds.X = r.X + (r.Width - imageBounds.Width) / 2;
//使图标不会紧贴着每一列的左上角
//imageBounds.X += 1;
//imageBounds.Y += 1;
g.DrawImage(image, imageBounds);
return imageBounds.Size;
}
/// <summary>
/// 重绘文本
/// </summary>
private void DrawText(DrawListViewItemEventArgs e, Graphics g, Rectangle r, int paddingHeight)
{
TextFormatFlags flags = GetFormatFlags(HorizontalAlignment.Center);
var r1 = new Rectangle(r.Location, r.Size)
{
Y = r.Y + r.Height- textheight,//重绘图标时,文本右移
Height = textheight
};
TextRenderer.DrawText(
g,
e.Item.Text,
e.Item.Font,
r1,
e.Item.Selected ? SelectedForeColor : e.Item.ForeColor,
flags);
}
/// <summary>
/// 获取文本对齐
/// </summary>
private TextFormatFlags GetFormatFlags(
HorizontalAlignment align)
{
TextFormatFlags flags =
TextFormatFlags.EndEllipsis |
TextFormatFlags.VerticalCenter;
switch (align)
{
case HorizontalAlignment.Center:
flags |= TextFormatFlags.HorizontalCenter;
break;
case HorizontalAlignment.Right:
flags |= TextFormatFlags.Right;
break;
case HorizontalAlignment.Left:
flags |= TextFormatFlags.Left;
break;
}
return flags;
}
const int WM_HSCROLL = 0x0114;
const int WM_VSCROLL = 0x0115;
/// <summary>
/// 水平滚动条滚动事件
/// </summary>
[Description("水平滚动条滚动事件")]
public event EventHandler HScroll;
/// <summary>
/// 垂直滚动条滚动事件
/// </summary>
[Description("垂直滚动条滚动事件")]
public event EventHandler VScroll;
/// <summary>
///
/// </summary>
/// <param name="m"></param>
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_HSCROLL)
{
HScroll?.Invoke(this, new EventArgs());
}
else if (m.Msg == WM_VSCROLL)
{
VScroll?.Invoke(this, new EventArgs());
}
base.WndProc(ref m);
}
}
}

View File

@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
</root>

View File

@ -31,69 +31,70 @@
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(rySearch)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(rySearch));
this.txtSearch = new System.Windows.Forms.TextBox(); this.txtSearch = new System.Windows.Forms.TextBox();
this.btnSearch = new ryControls.ButtonEx(); this.btnSearch = new ryControls.ButtonEx();
this.SuspendLayout(); this.SuspendLayout();
// //
// txtSearch // txtSearch
// //
this.txtSearch.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) this.txtSearch.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.txtSearch.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(236)))), ((int)(((byte)(239)))), ((int)(((byte)(244))))); this.txtSearch.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(236)))), ((int)(((byte)(239)))), ((int)(((byte)(244)))));
this.txtSearch.BorderStyle = System.Windows.Forms.BorderStyle.None; this.txtSearch.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.txtSearch.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.txtSearch.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.txtSearch.ForeColor = System.Drawing.Color.Silver; this.txtSearch.ForeColor = System.Drawing.Color.Silver;
this.txtSearch.Location = new System.Drawing.Point(0, 4); this.txtSearch.Location = new System.Drawing.Point(0, 4);
this.txtSearch.Name = "txtSearch"; this.txtSearch.Name = "txtSearch";
this.txtSearch.Size = new System.Drawing.Size(240, 16); this.txtSearch.Size = new System.Drawing.Size(240, 16);
this.txtSearch.TabIndex = 3; this.txtSearch.TabIndex = 3;
this.txtSearch.TabStop = false; this.txtSearch.TabStop = false;
this.txtSearch.Click += new System.EventHandler(this.TxtSearch_Click); this.txtSearch.Click += new System.EventHandler(this.TxtSearch_Click);
this.txtSearch.TextChanged += new System.EventHandler(this.TxtSearch_TextChanged); this.txtSearch.TextChanged += new System.EventHandler(this.TxtSearch_TextChanged);
this.txtSearch.DoubleClick += new System.EventHandler(this.TxtSearch_DoubleClick); this.txtSearch.DoubleClick += new System.EventHandler(this.TxtSearch_DoubleClick);
this.txtSearch.Enter += new System.EventHandler(this.TxtSearch_Enter); this.txtSearch.Enter += new System.EventHandler(this.TxtSearch_Enter);
this.txtSearch.KeyDown += new System.Windows.Forms.KeyEventHandler(this.TxtSearch_KeyDown); this.txtSearch.KeyDown += new System.Windows.Forms.KeyEventHandler(this.TxtSearch_KeyDown);
this.txtSearch.Leave += new System.EventHandler(this.TxtSearch_Leave); this.txtSearch.Leave += new System.EventHandler(this.TxtSearch_Leave);
// //
// btnSearch // btnSearch
// //
this.btnSearch.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) this.btnSearch.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.btnSearch.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95))))); this.btnSearch.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95)))));
this.btnSearch.Image = ((System.Drawing.Image)(resources.GetObject("btnSearch.Image"))); this.btnSearch.Image = ((System.Drawing.Image)(resources.GetObject("btnSearch.Image")));
this.btnSearch.ImageHeight = 14; this.btnSearch.ImageHeight = 14;
this.btnSearch.ImageWidth = 14; this.btnSearch.ImageWidth = 14;
this.btnSearch.Location = new System.Drawing.Point(246, 4); this.btnSearch.Location = new System.Drawing.Point(246, 4);
this.btnSearch.Name = "btnSearch"; this.btnSearch.Name = "btnSearch";
this.btnSearch.Radius = 12; this.btnSearch.Radius = 12;
this.btnSearch.RoundStyle = ryControls.RoundStyle.Right; this.btnSearch.RoundStyle = ryControls.RoundStyle.Right;
this.btnSearch.Size = new System.Drawing.Size(36, 23); this.btnSearch.Size = new System.Drawing.Size(36, 23);
this.btnSearch.TabIndex = 4; this.btnSearch.SpliteButtonWidth = 0;
this.btnSearch.TabStop = false; this.btnSearch.TabIndex = 4;
this.btnSearch.UseVisualStyleBackColor = true; this.btnSearch.TabStop = false;
this.btnSearch.Click += new System.EventHandler(this.BtnSearch_Click); this.btnSearch.UseVisualStyleBackColor = true;
// this.btnSearch.Click += new System.EventHandler(this.BtnSearch_Click);
// rySearch //
// // rySearch
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); //
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(236)))), ((int)(((byte)(239)))), ((int)(((byte)(244))))); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.btnSearch); this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(236)))), ((int)(((byte)(239)))), ((int)(((byte)(244)))));
this.Controls.Add(this.txtSearch); this.Controls.Add(this.btnSearch);
this.Name = "rySearch"; this.Controls.Add(this.txtSearch);
this.Size = new System.Drawing.Size(282, 30); this.Name = "rySearch";
this.Load += new System.EventHandler(this.RySearch_Load); this.Size = new System.Drawing.Size(282, 30);
this.FontChanged += new System.EventHandler(this.RySearch_FontChanged); this.Load += new System.EventHandler(this.RySearch_Load);
this.Paint += new System.Windows.Forms.PaintEventHandler(this.RySearch_Paint); this.FontChanged += new System.EventHandler(this.RySearch_FontChanged);
this.Enter += new System.EventHandler(this.RySearch_Enter); this.Paint += new System.Windows.Forms.PaintEventHandler(this.RySearch_Paint);
this.Leave += new System.EventHandler(this.RySearch_Leave); this.Enter += new System.EventHandler(this.RySearch_Enter);
this.Resize += new System.EventHandler(this.RySearch_Resize); this.Leave += new System.EventHandler(this.RySearch_Leave);
this.ImeModeChanged += new System.EventHandler(this.RySearch_ImeModeChanged); this.Resize += new System.EventHandler(this.RySearch_Resize);
this.ResumeLayout(false); this.ImeModeChanged += new System.EventHandler(this.RySearch_ImeModeChanged);
this.PerformLayout(); this.ResumeLayout(false);
this.PerformLayout();
} }
#endregion #endregion

View File

@ -1,304 +1,323 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Drawing; using System.Drawing;
using System.Data; using System.Data;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Windows.Forms; using System.Windows.Forms;
using ryControls; using ryControls;
using ryControls.Skin; using ryControls.Skin;
namespace ryControls namespace ryControls
{ {
[DefaultEvent("OnSearch")] [DefaultEvent("OnSearch")]
public partial class rySearch : UserControl public partial class rySearch : UserControl
{ {
/// <summary> /// <summary>
/// 在搜索时激发 /// 在搜索时激发
/// </summary> /// </summary>
[Description("在搜索时激发")] [Description("在搜索时激发")]
public event EventHandler OnSearch; public event EventHandler OnSearch;
/// <summary> /// <summary>
/// 文本变化时激发 /// 文本变化时激发
/// </summary> /// </summary>
[Description("文本变化时激发")] [Description("文本变化时激发")]
public new event EventHandler OnTextChanged; public new event EventHandler OnTextChanged;
/// <summary> /// <summary>
/// 文本变化时激发 /// 文本变化时激发
/// </summary> /// </summary>
[Description("文本变化时激发")] [Description("文本变化时激发")]
public new event EventHandler TextChanged; public new event EventHandler TextChanged;
/// <summary> /// <summary>
/// 双击时激发 /// 双击时激发
/// </summary> /// </summary>
[Description("双击时激发")] [Description("双击时激发")]
public new event EventHandler DoubleClick; public new event EventHandler DoubleClick;
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
public rySearch() public rySearch()
{ {
InitializeComponent(); InitializeComponent();
txtSearch.Font = Font; txtSearch.Font = Font;
txtSearch.ImeMode = ImeMode; txtSearch.ImeMode = ImeMode;
base.GotFocus += RySearch_GotFocus; base.GotFocus += RySearch_GotFocus;
} }
private void RySearch_GotFocus(object sender, EventArgs e) private void RySearch_GotFocus(object sender, EventArgs e)
{ {
txtSearch.Focus(); txtSearch.Focus();
txtSearch.Select(); txtSearch.Select();
txtSearch.SelectionLength = 0; txtSearch.SelectionLength = 0;
} }
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
public new void Select() public new void Select()
{ {
//txtSearch.Select(); //txtSearch.Select();
txtSearch.Focus(); txtSearch.Focus();
} }
private string _EmptyText = ""; private string _EmptyText = "";
/// <summary> /// <summary>
/// 文本为空时的显示效果 /// 文本为空时的显示效果
/// </summary> /// </summary>
private void EmptyShow() private void EmptyShow()
{ {
if (_text == "") if (_text == "")
{ {
if (!txtSearch.Focused) if (!txtSearch.Focused)
{ {
txtSearch.Font = Font; txtSearch.Font = Font;
txtSearch.ForeColor = Color.FromArgb(175, 185, 200); txtSearch.ForeColor = Color.FromArgb(175, 185, 200);
isProcUse = true; txtSearch.Text = EmptyText; isProcUse = false; isProcUse = true; txtSearch.Text = EmptyText; isProcUse = false;
txtSearch.Select(0, 1); txtSearch.Select(0, 1);
txtSearch.Select(0, 0); txtSearch.Select(0, 0);
} }
else else
{ HaveTextShow(); txtSearch.Text = ""; } { HaveTextShow(); txtSearch.Text = ""; }
} }
} }
/// <summary> /// <summary>
/// 文本不选中 /// 文本不选中
/// </summary> /// </summary>
public void TextUnSelected() public void TextUnSelected()
{ {
txtSearch.Select(0, 0); txtSearch.Select(0, 0);
} }
/// <summary> /// <summary>
/// 有内容时的显示效果 /// 有内容时的显示效果
/// </summary> /// </summary>
private void HaveTextShow() private void HaveTextShow()
{ {
txtSearch.Font = Font; txtSearch.Font = Font;
txtSearch.ForeColor = Color.Black; txtSearch.ForeColor = Color.Black;
} }
/// <summary> /// <summary>
/// 当文本框为空时,显示的内容。 /// 当文本框为空时,显示的内容。
/// </summary> /// </summary>
[Description("当文本框为空时,显示的内容。")] [Description("当文本框为空时,显示的内容。")]
public string EmptyText public string EmptyText
{ {
get { return _EmptyText; } get { return _EmptyText; }
set { set {
_EmptyText = value; _EmptyText = value;
EmptyShow(); EmptyShow();
} }
} }
private Font _font = new Font("宋体",9); private Font _font = new Font("宋体",9);
/// <summary> /// <summary>
/// 字体 /// 字体
/// </summary> /// </summary>
public override Font Font public override Font Font
{ {
get get
{ {
return _font; return _font;
} }
set set
{ {
_font = value; _font = value;
txtSearch.Font = value; txtSearch.Font = value;
btnSearch.Font = value; btnSearch.Font = value;
} }
} }
private bool _UseDefSkin = true; private bool _UseDefSkin = true;
/// <summary> /// <summary>
///优先使用默认皮肤 ///优先使用默认皮肤
/// </summary> /// </summary>
[Description("优先使用默认皮肤")] [Description("优先使用默认皮肤")]
[DefaultValue(typeof(bool), "true")] [DefaultValue(typeof(bool), "true")]
public bool UseDefSkin public bool UseDefSkin
{ {
get get
{ {
return _UseDefSkin; return _UseDefSkin;
} }
set set
{ {
_UseDefSkin = value; _UseDefSkin = value;
base.Invalidate(); btnSearch.UseDefSkin = _UseDefSkin;
} base.Invalidate();
} }
private Color _baseColor = Color.FromArgb(12, 125, 182);//基颜色 }
/// <summary> /// <summary>
///按钮基础背景色 /// 背景色是否渐变
/// </summary> /// </summary>
[Description("按钮基础背景色")] [DefaultValue(false)]
[DefaultValue(typeof(Color), "12, 125, 182")] [Description("背景色是否渐变")]
public Color BaseColor public bool ColorGradient
{ {
get get { return btnSearch.ColorGradient; }
{ set
if (SkinCommon.UseDefSkin && UseDefSkin) {
{ if (value != btnSearch.ColorGradient)
return SkinCommon.ButtonSkin.BackColor; {
}
return _baseColor; btnSearch.ColorGradient = value;
} }
set }
{ }
_baseColor = value; private Color _baseColor = Color.FromArgb(12, 125, 182);//基颜色
if (SkinCommon.UseDefSkin && UseDefSkin) /// <summary>
{ ///按钮基础背景色
btnSearch.BaseColor = SkinCommon.ButtonSkin.BackColor; /// </summary>
} [Description("按钮基础背景色")]
else [DefaultValue(typeof(Color), "12, 125, 182")]
{ public Color BaseColor
btnSearch.BaseColor = _baseColor; {
} get
} {
} //if (SkinCommon.UseDefSkin && UseDefSkin)
private string _text = ""; //{
/// <summary> // return SkinCommon.ButtonSkin.BackColor;
/// //}
/// </summary> return _baseColor;
public override string Text }
{ set
get {
{ _baseColor = value;
return _text; btnSearch.BaseColor = _baseColor;
} //if (SkinCommon.UseDefSkin && UseDefSkin)
//{
set // btnSearch.BaseColor = SkinCommon.ButtonSkin.BackColor;
{ //}
_text = value; //else
if(_text=="") //{
{ // btnSearch.BaseColor = _baseColor;
EmptyShow(); //}
} }
else }
{ private string _text = "";
HaveTextShow(); txtSearch.Text = _text; /// <summary>
txtSearch.Select(0, 1); ///
txtSearch.Select(_text.Length, 0); /// </summary>
} public override string Text
} {
} get
/// <summary> {
/// 重新设置大小 return _text;
/// </summary> }
public void ResizeSize()
{ set
txtSearch.Location = new Point(3, 1); {
txtSearch.Top = (Height - txtSearch.Height) / 2; _text = value;
//Height = txtSearch.Height+2; if(_text=="")
btnSearch.Height = Height; {
btnSearch.Width = Height; EmptyShow();
btnSearch.Location = new Point(Width - btnSearch.Width, 0); }
txtSearch.Width = Width - btnSearch.Width-3; else
} {
HaveTextShow(); txtSearch.Text = _text;
private void RySearch_Load(object sender, EventArgs e) txtSearch.Select(0, 1);
{ txtSearch.Select(_text.Length, 0);
ResizeSize(); }
//EmptyShow(); }
} }
/// <summary>
private void RySearch_FontChanged(object sender, EventArgs e) /// 重新设置大小
{ /// </summary>
ResizeSize(); public void ResizeSize()
} {
txtSearch.Location = new Point(3, 1);
private void TxtSearch_Enter(object sender, EventArgs e) txtSearch.Top = (Height - txtSearch.Height) / 2;
{ //Height = txtSearch.Height+2;
HaveTextShow(); btnSearch.Height = Height;
if (Text == "") { txtSearch.Text = ""; } btnSearch.Width = Height;
} btnSearch.Location = new Point(Width - btnSearch.Width, 0);
private bool isProcUse = false; txtSearch.Width = Width - btnSearch.Width-3;
private void TxtSearch_Leave(object sender, EventArgs e) }
{
if (Text == "") private void RySearch_Load(object sender, EventArgs e)
{ {
EmptyShow(); ResizeSize();
} //EmptyShow();
else }
{ txtSearch.Font = Font; }
} private void RySearch_FontChanged(object sender, EventArgs e)
{
private void TxtSearch_TextChanged(object sender, EventArgs e) ResizeSize();
{ }
if (isProcUse) { return; }
Text = txtSearch.Text; private void TxtSearch_Enter(object sender, EventArgs e)
OnTextChanged?.Invoke(this, new EventArgs()); {
TextChanged?.Invoke(this, new EventArgs()); HaveTextShow();
} if (Text == "") { txtSearch.Text = ""; }
/// <summary> }
/// 点击搜索按钮 private bool isProcUse = false;
/// </summary> private void TxtSearch_Leave(object sender, EventArgs e)
public void PerformClick() {
{ if (Text == "")
OnSearch?.Invoke(this, new EventArgs()); {
} EmptyShow();
private void BtnSearch_Click(object sender, EventArgs e) }
{ else
OnSearch?.Invoke(this, new EventArgs()); { txtSearch.Font = Font; }
} }
private void TxtSearch_KeyDown(object sender, KeyEventArgs e) private void TxtSearch_TextChanged(object sender, EventArgs e)
{ {
if (e.KeyCode == Keys.Enter) { btnSearch.PerformClick(); } if (isProcUse) { return; }
//if(KeyDown!=null) Text = txtSearch.Text;
OnKeyDown(e); OnTextChanged?.Invoke(this, new EventArgs());
} TextChanged?.Invoke(this, new EventArgs());
}
private void RySearch_Resize(object sender, EventArgs e) /// <summary>
{ /// 点击搜索按钮
ResizeSize(); /// </summary>
} public void PerformClick()
{
private void RySearch_Paint(object sender, PaintEventArgs e) OnSearch?.Invoke(this, new EventArgs());
{ }
e.Graphics.DrawRectangle(new Pen(SkinHelp.DefalutBorderColor), new Rectangle(0, 0, this.Width - 1, this.Height - 1)); private void BtnSearch_Click(object sender, EventArgs e)
} {
OnSearch?.Invoke(this, new EventArgs());
private void TxtSearch_DoubleClick(object sender, EventArgs e) }
{
DoubleClick?.Invoke(this, new EventArgs()); private void TxtSearch_KeyDown(object sender, KeyEventArgs e)
} {
if (e.KeyCode == Keys.Enter) { btnSearch.PerformClick(); }
private void RySearch_ImeModeChanged(object sender, EventArgs e) //if(KeyDown!=null)
{ OnKeyDown(e);
txtSearch.ImeMode = base.ImeMode; }
}
private void RySearch_Resize(object sender, EventArgs e)
private void RySearch_Enter(object sender, EventArgs e) {
{ ResizeSize();
txtSearch.Focus(); }
}
private void RySearch_Paint(object sender, PaintEventArgs e)
private void TxtSearch_Click(object sender, EventArgs e) {
{ e.Graphics.DrawRectangle(new Pen(SkinHelp.DefalutBorderColor), new Rectangle(0, 0, this.Width - 1, this.Height - 1));
HaveTextShow(); }
if (Text == "") { txtSearch.Text = ""; }
} private void TxtSearch_DoubleClick(object sender, EventArgs e)
{
private void RySearch_Leave(object sender, EventArgs e) DoubleClick?.Invoke(this, new EventArgs());
{ }
EmptyShow();
} private void RySearch_ImeModeChanged(object sender, EventArgs e)
} {
} txtSearch.ImeMode = base.ImeMode;
}
private void RySearch_Enter(object sender, EventArgs e)
{
txtSearch.Focus();
}
private void TxtSearch_Click(object sender, EventArgs e)
{
HaveTextShow();
if (Text == "") { txtSearch.Text = ""; }
}
private void RySearch_Leave(object sender, EventArgs e)
{
EmptyShow();
}
}
}

View File

@ -1,131 +1,131 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<root> <root>
<!-- <!--
Microsoft ResX Schema Microsoft ResX Schema
Version 2.0 Version 2.0
The primary goals of this format is to allow a simple XML format The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes various data types are done through the TypeConverter classes
associated with the data types. associated with the data types.
Example: Example:
... ado.net/XML headers & schema ... ... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader> <resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader> <resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value> <value>[base64 mime encoded serialized .NET Framework object]</value>
</data> </data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment> <comment>This is a comment</comment>
</data> </data>
There are any number of "resheader" rows that contain simple There are any number of "resheader" rows that contain simple
name/value pairs. name/value pairs.
Each data row contains a name, and value. The row also contains a Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture. text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the Classes that don't support this are serialized and stored with the
mimetype set. mimetype set.
The mimetype is used for serialized objects, and tells the The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly: extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below. read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64 mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64 mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64 mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter : using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
--> -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true"> <xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType> <xsd:complexType>
<xsd:choice maxOccurs="unbounded"> <xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata"> <xsd:element name="metadata">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" /> <xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" /> <xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" /> <xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" /> <xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="assembly"> <xsd:element name="assembly">
<xsd:complexType> <xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" /> <xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" /> <xsd:attribute name="name" type="xsd:string" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="data"> <xsd:element name="data">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="resheader"> <xsd:element name="resheader">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" /> <xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:choice> </xsd:choice>
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:schema> </xsd:schema>
<resheader name="resmimetype"> <resheader name="resmimetype">
<value>text/microsoft-resx</value> <value>text/microsoft-resx</value>
</resheader> </resheader>
<resheader name="version"> <resheader name="version">
<value>2.0</value> <value>2.0</value>
</resheader> </resheader>
<resheader name="reader"> <resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="btnSearch.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="btnSearch.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAD0SURBVDhPpZPdBgJRFIWj24iI6FWiq24jepuIiB6p dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAD0SURBVDhPpZPdBgJRFIWj24iI6FWiq24jepuIiB6p
24iIiK666gEiIiLitL5tzthzTJlq8W0za/9Mc2ZXCyF4GmIqNuKZwTUeubS+5m/64iTeiRw1vicfMBJR 24iIiK666gEiIiLitL5tzthzTJlq8W0za/9Mc2ZXCyF4GmIqNuKZwTUeubS+5m/64iTeiRw1vicfMBJR
KzEU3Qyu8aKoLQxoiZtAC5EnE8ghaukxnzAXiKfUhW/ykFsLRI/5hD2O1BO+oQzOANFjHuGBIzWFLy6D KzEU3Qyu8aKoLQxoiZtAC5EnE8ghaukxnzAXiKfUhW/ykFsLRI/5hD2O1BO+oQzOANFjHuGBIzWFLy6D
GnQV5hG4QVUG8CnRXZhH+PsVfjnEiTCf0BbffMazyLcyJsciKi5SJyNdpKPgoYUBMBCfVpnDphkdhA3x GnQV5hG4QVUG8CnRXZhH+PsVfjnEiTCf0BbffMazyLcyJsciKi5SJyNdpKPgoYUBMBCfVpnDphkdhA3x
A4CfNhNbgS6C98Zj+2iiGdmQdEAV/JBdWUEVGKK/eVi+ALu0Uk5r6Ri0AAAAAElFTkSuQmCC A4CfNhNbgS6C98Zj+2iiGdmQdEAV/JBdWUEVGKK/eVi+ALu0Uk5r6Ri0AAAAAElFTkSuQmCC
</value> </value>
</data> </data>
</root> </root>

View File

@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值, //可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值,
// 方法是按如下所示使用“*”: : // 方法是按如下所示使用“*”: :
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("2.1.2012.1801")] [assembly: AssemblyVersion("2.1.2012.2701")]
[assembly: AssemblyFileVersion("2.1.2012.1801")] [assembly: AssemblyFileVersion("2.1.2012.2701")]

View File

@ -1,457 +1,464 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup> <PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{9ECA3A84-8545-4C4D-84D6-D23E3BDF2D90}</ProjectGuid> <ProjectGuid>{9ECA3A84-8545-4C4D-84D6-D23E3BDF2D90}</ProjectGuid>
<OutputType>Library</OutputType> <OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder> <AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>ryControls</RootNamespace> <RootNamespace>ryControls</RootNamespace>
<AssemblyName>ryControls</AssemblyName> <AssemblyName>ryControls</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion> <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
<TargetFrameworkProfile /> <TargetFrameworkProfile />
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols> <DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType> <DebugType>full</DebugType>
<Optimize>false</Optimize> <Optimize>false</Optimize>
<OutputPath>..\..\Bin\Debug\CommonControls\.NET4\</OutputPath> <OutputPath>..\..\Bin\Debug\CommonControls\.NET4\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants> <DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
<PlatformTarget>AnyCPU</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<DocumentationFile>..\..\Bin\Debug\CommonControls\.NET4\ryControls.xml</DocumentationFile> <DocumentationFile>..\..\Bin\Debug\CommonControls\.NET4\ryControls.xml</DocumentationFile>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>none</DebugType> <DebugType>none</DebugType>
<Optimize>true</Optimize> <Optimize>true</Optimize>
<OutputPath>..\..\Bin\Release\CommonControls\.NET4\</OutputPath> <OutputPath>..\..\Bin\Release\CommonControls\.NET4\</OutputPath>
<DefineConstants>TRACE</DefineConstants> <DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<DebugSymbols>true</DebugSymbols> <DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\Debug\</OutputPath> <OutputPath>bin\x86\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants> <DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType> <DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget> <PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
<OutputPath>bin\x86\Release\</OutputPath> <OutputPath>bin\x86\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants> <DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize> <Optimize>true</Optimize>
<DebugType>pdbonly</DebugType> <DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget> <PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Core" /> <Reference Include="System.Core" />
<Reference Include="System.Design" /> <Reference Include="System.Design" />
<Reference Include="System.Drawing" /> <Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" /> <Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml.Linq" /> <Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" /> <Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" /> <Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" /> <Reference Include="System.Data" />
<Reference Include="System.Xml" /> <Reference Include="System.Xml" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="Controls\ButtonImages\GlassButton.cs"> <Compile Include="Controls\ButtonImages\GlassButton.cs">
<SubType>Component</SubType> <SubType>Component</SubType>
</Compile> </Compile>
<Compile Include="Controls\ButtonImages\GlassButton.Designer.cs"> <Compile Include="Controls\ButtonImages\GlassButton.Designer.cs">
<DependentUpon>GlassButton.cs</DependentUpon> <DependentUpon>GlassButton.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="Controls\ButtonImages\ImageDrawRect.cs" /> <Compile Include="Controls\ButtonImages\ImageDrawRect.cs" />
<Compile Include="Controls\ButtonImages\ImageObject.cs" /> <Compile Include="Controls\ButtonImages\ImageObject.cs" />
<Compile Include="Controls\ButtonEX.cs"> <Compile Include="Controls\ButtonEX.cs">
<SubType>Component</SubType> <SubType>Component</SubType>
</Compile> </Compile>
<Compile Include="Controls\ColorLabel.cs"> <Compile Include="Controls\ColorLabel.cs">
<SubType>Component</SubType> <SubType>Component</SubType>
</Compile> </Compile>
<Compile Include="Controls\ContextMenuStripRichText.cs"> <Compile Include="Controls\ContextMenuStripRichText.cs">
<SubType>Component</SubType> <SubType>Component</SubType>
</Compile> </Compile>
<Compile Include="Controls\ContextMenuStripRichText.designer.cs"> <Compile Include="Controls\ContextMenuStripRichText.designer.cs">
<DependentUpon>ContextMenuStripRichText.cs</DependentUpon> <DependentUpon>ContextMenuStripRichText.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="Controls\ctMsgList.cs"> <Compile Include="Controls\ctMsgList.cs">
<SubType>UserControl</SubType> <SubType>UserControl</SubType>
</Compile> </Compile>
<Compile Include="Controls\ctMsgList.Designer.cs"> <Compile Include="Controls\ctMsgList.Designer.cs">
<DependentUpon>ctMsgList.cs</DependentUpon> <DependentUpon>ctMsgList.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="Controls\Drawing.cs" /> <Compile Include="Controls\Drawing.cs" />
<Compile Include="Controls\Formbase.cs"> <Compile Include="Controls\Formbase.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
<Compile Include="Controls\Formbase.Designer.cs"> <Compile Include="Controls\Formbase.Designer.cs">
<DependentUpon>Formbase.cs</DependentUpon> <DependentUpon>Formbase.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="Controls\Hotkey\HotkeyTextBox.cs"> <Compile Include="Controls\Hotkey\HotkeyTextBox.cs">
<SubType>UserControl</SubType> <SubType>UserControl</SubType>
</Compile> </Compile>
<Compile Include="Controls\Hotkey\HotkeyTextBox.Designer.cs"> <Compile Include="Controls\Hotkey\HotkeyTextBox.Designer.cs">
<DependentUpon>HotkeyTextBox.cs</DependentUpon> <DependentUpon>HotkeyTextBox.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="Controls\LableX.cs"> <Compile Include="Controls\LableX.cs">
<SubType>Component</SubType> <SubType>Component</SubType>
</Compile> </Compile>
<Compile Include="Controls\LableX.Designer.cs"> <Compile Include="Controls\LableX.Designer.cs">
<DependentUpon>LableX.cs</DependentUpon> <DependentUpon>LableX.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="Controls\MsgLink.cs"> <Compile Include="Controls\List\IconViewEx.cs">
<SubType>UserControl</SubType> <SubType>Component</SubType>
</Compile> </Compile>
<Compile Include="Controls\MsgLink.Designer.cs"> <Compile Include="Controls\List\IItemInfo.cs" />
<DependentUpon>MsgLink.cs</DependentUpon> <Compile Include="Controls\MsgLink.cs">
</Compile> <SubType>UserControl</SubType>
<Compile Include="Controls\MsgUI.cs"> </Compile>
<SubType>UserControl</SubType> <Compile Include="Controls\MsgLink.Designer.cs">
</Compile> <DependentUpon>MsgLink.cs</DependentUpon>
<Compile Include="Controls\MsgUI.Designer.cs"> </Compile>
<DependentUpon>MsgUI.cs</DependentUpon> <Compile Include="Controls\MsgUI.cs">
</Compile> <SubType>UserControl</SubType>
<Compile Include="Controls\NumericUpDownEx.cs"> </Compile>
<SubType>Component</SubType> <Compile Include="Controls\MsgUI.Designer.cs">
</Compile> <DependentUpon>MsgUI.cs</DependentUpon>
<Compile Include="Controls\NumericUpDownEx.Designer.cs"> </Compile>
<DependentUpon>NumericUpDownEx.cs</DependentUpon> <Compile Include="Controls\NumericUpDownEx.cs">
</Compile> <SubType>Component</SubType>
<Compile Include="Controls\PicButton.cs"> </Compile>
<SubType>UserControl</SubType> <Compile Include="Controls\NumericUpDownEx.Designer.cs">
</Compile> <DependentUpon>NumericUpDownEx.cs</DependentUpon>
<Compile Include="Controls\PicButton.Designer.cs"> </Compile>
<DependentUpon>PicButton.cs</DependentUpon> <Compile Include="Controls\PicButton.cs">
</Compile> <SubType>UserControl</SubType>
<Compile Include="Controls\RichTextBox2.cs"> </Compile>
<SubType>Component</SubType> <Compile Include="Controls\PicButton.Designer.cs">
</Compile> <DependentUpon>PicButton.cs</DependentUpon>
<Compile Include="Controls\RichTextBox2.Designer.cs"> </Compile>
<DependentUpon>RichTextBox2.cs</DependentUpon> <Compile Include="Controls\RichTextBox2.cs">
</Compile> <SubType>Component</SubType>
<Compile Include="Controls\RyCheckBox.cs"> </Compile>
<SubType>UserControl</SubType> <Compile Include="Controls\RichTextBox2.Designer.cs">
</Compile> <DependentUpon>RichTextBox2.cs</DependentUpon>
<Compile Include="Controls\RyCheckBox.Designer.cs"> </Compile>
<DependentUpon>RyCheckBox.cs</DependentUpon> <Compile Include="Controls\RyCheckBox.cs">
</Compile> <SubType>UserControl</SubType>
<Compile Include="Controls\ryComboBox.cs"> </Compile>
<SubType>Component</SubType> <Compile Include="Controls\RyCheckBox.Designer.cs">
</Compile> <DependentUpon>RyCheckBox.cs</DependentUpon>
<Compile Include="Controls\RyContextMenuStrip.cs"> </Compile>
<SubType>Component</SubType> <Compile Include="Controls\ryComboBox.cs">
</Compile> <SubType>Component</SubType>
<Compile Include="Controls\RyHotkey.cs"> </Compile>
<SubType>Component</SubType> <Compile Include="Controls\RyContextMenuStrip.cs">
</Compile> <SubType>Component</SubType>
<Compile Include="Controls\RyHotkey.Designer.cs"> </Compile>
<DependentUpon>RyHotkey.cs</DependentUpon> <Compile Include="Controls\RyHotkey.cs">
</Compile> <SubType>Component</SubType>
<Compile Include="Controls\ctlMyPage.cs"> </Compile>
<SubType>UserControl</SubType> <Compile Include="Controls\RyHotkey.Designer.cs">
</Compile> <DependentUpon>RyHotkey.cs</DependentUpon>
<Compile Include="Controls\ctlMyPage.Designer.cs"> </Compile>
<DependentUpon>ctlMyPage.cs</DependentUpon> <Compile Include="Controls\ctlMyPage.cs">
</Compile> <SubType>UserControl</SubType>
<Compile Include="Controls\dateTimePickerEX.cs"> </Compile>
<SubType>Component</SubType> <Compile Include="Controls\ctlMyPage.Designer.cs">
</Compile> <DependentUpon>ctlMyPage.cs</DependentUpon>
<Compile Include="Controls\dateTimePickerEX.Designer.cs"> </Compile>
<DependentUpon>dateTimePickerEX.cs</DependentUpon> <Compile Include="Controls\dateTimePickerEX.cs">
</Compile> <SubType>Component</SubType>
<Compile Include="Controls\DoubleText.cs"> </Compile>
<SubType>UserControl</SubType> <Compile Include="Controls\dateTimePickerEX.Designer.cs">
</Compile> <DependentUpon>dateTimePickerEX.cs</DependentUpon>
<Compile Include="Controls\DoubleText.Designer.cs"> </Compile>
<DependentUpon>DoubleText.cs</DependentUpon> <Compile Include="Controls\DoubleText.cs">
</Compile> <SubType>UserControl</SubType>
<Compile Include="Controls\LabelTx.cs"> </Compile>
<SubType>Component</SubType> <Compile Include="Controls\DoubleText.Designer.cs">
</Compile> <DependentUpon>DoubleText.cs</DependentUpon>
<Compile Include="Controls\ListX.cs" /> </Compile>
<Compile Include="Controls\NativeMethods.cs" /> <Compile Include="Controls\LabelTx.cs">
<Compile Include="Controls\ObjectListView.cs"> <SubType>Component</SubType>
<SubType>Component</SubType> </Compile>
</Compile> <Compile Include="Controls\ListX.cs" />
<Compile Include="Controls\PanelEx.cs"> <Compile Include="Controls\NativeMethods.cs" />
<SubType>Component</SubType> <Compile Include="Controls\ObjectListView.cs">
</Compile> <SubType>Component</SubType>
<Compile Include="Controls\PanelEx.Designer.cs"> </Compile>
<DependentUpon>PanelEx.cs</DependentUpon> <Compile Include="Controls\PanelEx.cs">
</Compile> <SubType>Component</SubType>
<Compile Include="Controls\QQButton.cs"> </Compile>
<SubType>Component</SubType> <Compile Include="Controls\PanelEx.Designer.cs">
</Compile> <DependentUpon>PanelEx.cs</DependentUpon>
<Compile Include="Controls\rySearch.cs"> </Compile>
<SubType>UserControl</SubType> <Compile Include="Controls\QQButton.cs">
</Compile> <SubType>Component</SubType>
<Compile Include="Controls\rySearch.Designer.cs"> </Compile>
<DependentUpon>rySearch.cs</DependentUpon> <Compile Include="Controls\rySearch.cs">
</Compile> <SubType>UserControl</SubType>
<Compile Include="Controls\ryWin8Button.cs"> </Compile>
<SubType>Component</SubType> <Compile Include="Controls\rySearch.Designer.cs">
</Compile> <DependentUpon>rySearch.cs</DependentUpon>
<Compile Include="Controls\SkinCommon.cs" /> </Compile>
<Compile Include="Controls\SkinHelp.cs" /> <Compile Include="Controls\ryWin8Button.cs">
<Compile Include="Controls\SuperPictureBox.cs"> <SubType>Component</SubType>
<SubType>Component</SubType> </Compile>
</Compile> <Compile Include="Controls\SkinCommon.cs" />
<Compile Include="Controls\SuperPictureBox.Designer.cs"> <Compile Include="Controls\SkinHelp.cs" />
<DependentUpon>SuperPictureBox.cs</DependentUpon> <Compile Include="Controls\SuperPictureBox.cs">
</Compile> <SubType>Component</SubType>
<Compile Include="Controls\TabBar.cs"> </Compile>
<SubType>UserControl</SubType> <Compile Include="Controls\SuperPictureBox.Designer.cs">
</Compile> <DependentUpon>SuperPictureBox.cs</DependentUpon>
<Compile Include="Controls\TabBar.Designer.cs"> </Compile>
<DependentUpon>TabBar.cs</DependentUpon> <Compile Include="Controls\TabBar.cs">
</Compile> <SubType>UserControl</SubType>
<Compile Include="Controls\TabControlEx.cs"> </Compile>
<SubType>Component</SubType> <Compile Include="Controls\TabBar.Designer.cs">
</Compile> <DependentUpon>TabBar.cs</DependentUpon>
<Compile Include="Controls\TextBoxEx2.cs"> </Compile>
<SubType>UserControl</SubType> <Compile Include="Controls\TabControlEx.cs">
</Compile> <SubType>Component</SubType>
<Compile Include="Controls\TextBoxEx2.Designer.cs"> </Compile>
<DependentUpon>TextBoxEx2.cs</DependentUpon> <Compile Include="Controls\TextBoxEx2.cs">
</Compile> <SubType>UserControl</SubType>
<Compile Include="Controls\ToolStripExtensions.cs" /> </Compile>
<Compile Include="Controls\ToolStripRenderer.cs" /> <Compile Include="Controls\TextBoxEx2.Designer.cs">
<Compile Include="Controls\Win32.cs" /> <DependentUpon>TextBoxEx2.cs</DependentUpon>
<Compile Include="Controls\ZhLoading.cs"> </Compile>
<SubType>Component</SubType> <Compile Include="Controls\ToolStripExtensions.cs" />
</Compile> <Compile Include="Controls\ToolStripRenderer.cs" />
<Compile Include="Controls\ZhLoading.Designer.cs"> <Compile Include="Controls\Win32.cs" />
<DependentUpon>ZhLoading.cs</DependentUpon> <Compile Include="Controls\ZhLoading.cs">
</Compile> <SubType>Component</SubType>
<Compile Include="ExtendedWebBrowser\BrowserCommands.cs" /> </Compile>
<Compile Include="ExtendedWebBrowser\BrowserExtendedNavigatingEventArgs.cs" /> <Compile Include="Controls\ZhLoading.Designer.cs">
<Compile Include="ExtendedWebBrowser\Command.cs" /> <DependentUpon>ZhLoading.cs</DependentUpon>
<Compile Include="ExtendedWebBrowser\CommandStateEventArgs.cs" /> </Compile>
<Compile Include="ExtendedWebBrowser\ExtendedWebBrowser.cs"> <Compile Include="ExtendedWebBrowser\BrowserCommands.cs" />
<SubType>Component</SubType> <Compile Include="ExtendedWebBrowser\BrowserExtendedNavigatingEventArgs.cs" />
</Compile> <Compile Include="ExtendedWebBrowser\Command.cs" />
<Compile Include="ExtendedWebBrowser\Hresults.cs" /> <Compile Include="ExtendedWebBrowser\CommandStateEventArgs.cs" />
<Compile Include="ExtendedWebBrowser\NativeMethods.cs" /> <Compile Include="ExtendedWebBrowser\ExtendedWebBrowser.cs">
<Compile Include="ExtendedWebBrowser\NotifyCollection.cs" /> <SubType>Component</SubType>
<Compile Include="ExtendedWebBrowser\TextChangedEventArgs.cs" /> </Compile>
<Compile Include="ExtendedWebBrowser\UnsafeNativeMethods.cs" /> <Compile Include="ExtendedWebBrowser\Hresults.cs" />
<Compile Include="ExtendedWebBrowser\UrlContext.cs" /> <Compile Include="ExtendedWebBrowser\NativeMethods.cs" />
<Compile Include="ImageChart\LinePainter.cs" /> <Compile Include="ExtendedWebBrowser\NotifyCollection.cs" />
<Compile Include="ImageChart\MovementImage.cs" /> <Compile Include="ExtendedWebBrowser\TextChangedEventArgs.cs" />
<Compile Include="ImageChart\MovementPainterBase.cs" /> <Compile Include="ExtendedWebBrowser\UnsafeNativeMethods.cs" />
<Compile Include="ImageChart\RectanglePainter.cs" /> <Compile Include="ExtendedWebBrowser\UrlContext.cs" />
<Compile Include="ImageChart\XAxisItem.cs" /> <Compile Include="ImageChart\LinePainter.cs" />
<Compile Include="ImageChart\XAxisItemList.cs" /> <Compile Include="ImageChart\MovementImage.cs" />
<Compile Include="PramType.cs" /> <Compile Include="ImageChart\MovementPainterBase.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="ImageChart\RectanglePainter.cs" />
<Compile Include="Properties\Resources.Designer.cs"> <Compile Include="ImageChart\XAxisItem.cs" />
<AutoGen>True</AutoGen> <Compile Include="ImageChart\XAxisItemList.cs" />
<DesignTime>True</DesignTime> <Compile Include="PramType.cs" />
<DependentUpon>Resources.resx</DependentUpon> <Compile Include="Properties\AssemblyInfo.cs" />
</Compile> <Compile Include="Properties\Resources.Designer.cs">
<Compile Include="Controls\TextBoxEx.cs"> <AutoGen>True</AutoGen>
<SubType>Component</SubType> <DesignTime>True</DesignTime>
</Compile> <DependentUpon>Resources.resx</DependentUpon>
<Compile Include="Controls\TextBoxEx.Designer.cs"> </Compile>
<DependentUpon>TextBoxEx.cs</DependentUpon> <Compile Include="Controls\TextBoxEx.cs">
</Compile> <SubType>Component</SubType>
<Compile Include="Rili\LunarDay.cs"> </Compile>
<SubType>UserControl</SubType> <Compile Include="Controls\TextBoxEx.Designer.cs">
</Compile> <DependentUpon>TextBoxEx.cs</DependentUpon>
<Compile Include="Rili\LunarDay.Designer.cs"> </Compile>
<DependentUpon>LunarDay.cs</DependentUpon> <Compile Include="Rili\LunarDay.cs">
</Compile> <SubType>UserControl</SubType>
<Compile Include="Rili\ChinaCalendar.cs"> </Compile>
<SubType>UserControl</SubType> <Compile Include="Rili\LunarDay.Designer.cs">
</Compile> <DependentUpon>LunarDay.cs</DependentUpon>
<Compile Include="Rili\ChinaCalendar.Designer.cs"> </Compile>
<DependentUpon>ChinaCalendar.cs</DependentUpon> <Compile Include="Rili\ChinaCalendar.cs">
</Compile> <SubType>UserControl</SubType>
<Compile Include="RySetting.cs" /> </Compile>
<Compile Include="SuperColor\frmColorConvert.cs"> <Compile Include="Rili\ChinaCalendar.Designer.cs">
<SubType>Form</SubType> <DependentUpon>ChinaCalendar.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="SuperColor\frmColorConvert.Designer.cs"> <Compile Include="RySetting.cs" />
<DependentUpon>frmColorConvert.cs</DependentUpon> <Compile Include="SuperColor\frmColorConvert.cs">
</Compile> <SubType>Form</SubType>
<Compile Include="SuperColor\GetColors.cs"> </Compile>
<SubType>Form</SubType> <Compile Include="SuperColor\frmColorConvert.Designer.cs">
</Compile> <DependentUpon>frmColorConvert.cs</DependentUpon>
<Compile Include="SuperColor\GetColors.Designer.cs"> </Compile>
<DependentUpon>GetColors.cs</DependentUpon> <Compile Include="SuperColor\GetColors.cs">
</Compile> <SubType>Form</SubType>
<Compile Include="SuperColor\ColorConvert.cs" /> </Compile>
<Compile Include="SuperColor\SuperColor.cs"> <Compile Include="SuperColor\GetColors.Designer.cs">
<SubType>UserControl</SubType> <DependentUpon>GetColors.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="SuperColor\SuperColor.Designer.cs"> <Compile Include="SuperColor\ColorConvert.cs" />
<DependentUpon>SuperColor.cs</DependentUpon> <Compile Include="SuperColor\SuperColor.cs">
</Compile> <SubType>UserControl</SubType>
<Compile Include="SuperTabControl\ChromeTabControl.cs"> </Compile>
<SubType>Component</SubType> <Compile Include="SuperColor\SuperColor.Designer.cs">
</Compile> <DependentUpon>SuperColor.cs</DependentUpon>
<Compile Include="SuperTabControl\ChromeTabControl.Designer.cs"> </Compile>
<DependentUpon>ChromeTabControl.cs</DependentUpon> <Compile Include="SuperTabControl\ChromeTabControl.cs">
</Compile> <SubType>Component</SubType>
<Compile Include="SuperTabControl\Win32\Enum.cs" /> </Compile>
<Compile Include="SuperTabControl\Win32\User32.cs" /> <Compile Include="SuperTabControl\ChromeTabControl.Designer.cs">
<Compile Include="TreeXML\clsCbbItem.cs" /> <DependentUpon>ChromeTabControl.cs</DependentUpon>
<Compile Include="TreeXML\ComboBoxEx.cs"> </Compile>
<SubType>Component</SubType> <Compile Include="SuperTabControl\Win32\Enum.cs" />
</Compile> <Compile Include="SuperTabControl\Win32\User32.cs" />
<Compile Include="TreeXML\ctlTreeView.cs"> <Compile Include="TreeXML\clsCbbItem.cs" />
<SubType>Component</SubType> <Compile Include="TreeXML\ComboBoxEx.cs">
</Compile> <SubType>Component</SubType>
<Compile Include="TreeXML\ctlTreeView.Designer.cs"> </Compile>
<DependentUpon>ctlTreeView.cs</DependentUpon> <Compile Include="TreeXML\ctlTreeView.cs">
</Compile> <SubType>Component</SubType>
<Compile Include="TreeXML\frmAddTree.cs"> </Compile>
<SubType>Form</SubType> <Compile Include="TreeXML\ctlTreeView.Designer.cs">
</Compile> <DependentUpon>ctlTreeView.cs</DependentUpon>
<Compile Include="TreeXML\frmAddTree.Designer.cs"> </Compile>
<DependentUpon>frmAddTree.cs</DependentUpon> <Compile Include="TreeXML\frmAddTree.cs">
</Compile> <SubType>Form</SubType>
<Compile Include="TreeXML\frmAuthUser.cs"> </Compile>
<SubType>Form</SubType> <Compile Include="TreeXML\frmAddTree.Designer.cs">
</Compile> <DependentUpon>frmAddTree.cs</DependentUpon>
<Compile Include="TreeXML\frmAuthUser.Designer.cs"> </Compile>
<DependentUpon>frmAuthUser.cs</DependentUpon> <Compile Include="TreeXML\frmAuthUser.cs">
</Compile> <SubType>Form</SubType>
<Compile Include="TreeXML\frmChangePwd.cs"> </Compile>
<SubType>Form</SubType> <Compile Include="TreeXML\frmAuthUser.Designer.cs">
</Compile> <DependentUpon>frmAuthUser.cs</DependentUpon>
<Compile Include="TreeXML\frmChangePwd.Designer.cs"> </Compile>
<DependentUpon>frmChangePwd.cs</DependentUpon> <Compile Include="TreeXML\frmChangePwd.cs">
</Compile> <SubType>Form</SubType>
<Compile Include="TreeXML\frmPwd.cs"> </Compile>
<SubType>Form</SubType> <Compile Include="TreeXML\frmChangePwd.Designer.cs">
</Compile> <DependentUpon>frmChangePwd.cs</DependentUpon>
<Compile Include="TreeXML\frmPwd.Designer.cs"> </Compile>
<DependentUpon>frmPwd.cs</DependentUpon> <Compile Include="TreeXML\frmPwd.cs">
</Compile> <SubType>Form</SubType>
</ItemGroup> </Compile>
<ItemGroup> <Compile Include="TreeXML\frmPwd.Designer.cs">
<EmbeddedResource Include="Controls\ContextMenuStripRichText.resx"> <DependentUpon>frmPwd.cs</DependentUpon>
<DependentUpon>ContextMenuStripRichText.cs</DependentUpon> </Compile>
</EmbeddedResource> </ItemGroup>
<EmbeddedResource Include="Controls\ctlMyPage.resx"> <ItemGroup>
<DependentUpon>ctlMyPage.cs</DependentUpon> <EmbeddedResource Include="Controls\ContextMenuStripRichText.resx">
</EmbeddedResource> <DependentUpon>ContextMenuStripRichText.cs</DependentUpon>
<EmbeddedResource Include="Controls\ctMsgList.resx"> </EmbeddedResource>
<DependentUpon>ctMsgList.cs</DependentUpon> <EmbeddedResource Include="Controls\ctlMyPage.resx">
</EmbeddedResource> <DependentUpon>ctlMyPage.cs</DependentUpon>
<EmbeddedResource Include="Controls\DoubleText.resx"> </EmbeddedResource>
<DependentUpon>DoubleText.cs</DependentUpon> <EmbeddedResource Include="Controls\ctMsgList.resx">
</EmbeddedResource> <DependentUpon>ctMsgList.cs</DependentUpon>
<EmbeddedResource Include="Controls\Formbase.resx"> </EmbeddedResource>
<DependentUpon>Formbase.cs</DependentUpon> <EmbeddedResource Include="Controls\DoubleText.resx">
</EmbeddedResource> <DependentUpon>DoubleText.cs</DependentUpon>
<EmbeddedResource Include="Controls\Hotkey\HotkeyTextBox.resx"> </EmbeddedResource>
<DependentUpon>HotkeyTextBox.cs</DependentUpon> <EmbeddedResource Include="Controls\Formbase.resx">
</EmbeddedResource> <DependentUpon>Formbase.cs</DependentUpon>
<EmbeddedResource Include="Controls\MsgLink.resx"> </EmbeddedResource>
<DependentUpon>MsgLink.cs</DependentUpon> <EmbeddedResource Include="Controls\Hotkey\HotkeyTextBox.resx">
</EmbeddedResource> <DependentUpon>HotkeyTextBox.cs</DependentUpon>
<EmbeddedResource Include="Controls\MsgUI.resx"> </EmbeddedResource>
<DependentUpon>MsgUI.cs</DependentUpon> <EmbeddedResource Include="Controls\List\IconViewEx.resx">
</EmbeddedResource> <DependentUpon>IconViewEx.cs</DependentUpon>
<EmbeddedResource Include="Controls\NumericUpDownEx.resx"> </EmbeddedResource>
<DependentUpon>NumericUpDownEx.cs</DependentUpon> <EmbeddedResource Include="Controls\MsgLink.resx">
</EmbeddedResource> <DependentUpon>MsgLink.cs</DependentUpon>
<EmbeddedResource Include="Controls\PanelEx.resx"> </EmbeddedResource>
<DependentUpon>PanelEx.cs</DependentUpon> <EmbeddedResource Include="Controls\MsgUI.resx">
</EmbeddedResource> <DependentUpon>MsgUI.cs</DependentUpon>
<EmbeddedResource Include="Controls\PicButton.resx"> </EmbeddedResource>
<DependentUpon>PicButton.cs</DependentUpon> <EmbeddedResource Include="Controls\NumericUpDownEx.resx">
</EmbeddedResource> <DependentUpon>NumericUpDownEx.cs</DependentUpon>
<EmbeddedResource Include="Controls\RichTextBox2.resx"> </EmbeddedResource>
<DependentUpon>RichTextBox2.cs</DependentUpon> <EmbeddedResource Include="Controls\PanelEx.resx">
</EmbeddedResource> <DependentUpon>PanelEx.cs</DependentUpon>
<EmbeddedResource Include="Controls\RyCheckBox.resx"> </EmbeddedResource>
<DependentUpon>RyCheckBox.cs</DependentUpon> <EmbeddedResource Include="Controls\PicButton.resx">
</EmbeddedResource> <DependentUpon>PicButton.cs</DependentUpon>
<EmbeddedResource Include="Controls\rySearch.resx"> </EmbeddedResource>
<DependentUpon>rySearch.cs</DependentUpon> <EmbeddedResource Include="Controls\RichTextBox2.resx">
</EmbeddedResource> <DependentUpon>RichTextBox2.cs</DependentUpon>
<EmbeddedResource Include="Controls\TabBar.resx"> </EmbeddedResource>
<DependentUpon>TabBar.cs</DependentUpon> <EmbeddedResource Include="Controls\RyCheckBox.resx">
</EmbeddedResource> <DependentUpon>RyCheckBox.cs</DependentUpon>
<EmbeddedResource Include="Controls\TextBoxEx2.resx"> </EmbeddedResource>
<DependentUpon>TextBoxEx2.cs</DependentUpon> <EmbeddedResource Include="Controls\rySearch.resx">
</EmbeddedResource> <DependentUpon>rySearch.cs</DependentUpon>
<EmbeddedResource Include="Properties\Resources.resx"> </EmbeddedResource>
<Generator>ResXFileCodeGenerator</Generator> <EmbeddedResource Include="Controls\TabBar.resx">
<LastGenOutput>Resources.Designer.cs</LastGenOutput> <DependentUpon>TabBar.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="Rili\LunarDay.resx"> <EmbeddedResource Include="Controls\TextBoxEx2.resx">
<DependentUpon>LunarDay.cs</DependentUpon> <DependentUpon>TextBoxEx2.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="Rili\ChinaCalendar.resx"> <EmbeddedResource Include="Properties\Resources.resx">
<DependentUpon>ChinaCalendar.cs</DependentUpon> <Generator>ResXFileCodeGenerator</Generator>
</EmbeddedResource> <LastGenOutput>Resources.Designer.cs</LastGenOutput>
<EmbeddedResource Include="SuperColor\frmColorConvert.resx"> </EmbeddedResource>
<DependentUpon>frmColorConvert.cs</DependentUpon> <EmbeddedResource Include="Rili\LunarDay.resx">
</EmbeddedResource> <DependentUpon>LunarDay.cs</DependentUpon>
<EmbeddedResource Include="SuperColor\GetColors.resx"> </EmbeddedResource>
<DependentUpon>GetColors.cs</DependentUpon> <EmbeddedResource Include="Rili\ChinaCalendar.resx">
</EmbeddedResource> <DependentUpon>ChinaCalendar.cs</DependentUpon>
<EmbeddedResource Include="SuperColor\SuperColor.resx"> </EmbeddedResource>
<DependentUpon>SuperColor.cs</DependentUpon> <EmbeddedResource Include="SuperColor\frmColorConvert.resx">
</EmbeddedResource> <DependentUpon>frmColorConvert.cs</DependentUpon>
<EmbeddedResource Include="TreeXML\ctlTreeView.resx"> </EmbeddedResource>
<DependentUpon>ctlTreeView.cs</DependentUpon> <EmbeddedResource Include="SuperColor\GetColors.resx">
</EmbeddedResource> <DependentUpon>GetColors.cs</DependentUpon>
<EmbeddedResource Include="TreeXML\frmAddTree.resx"> </EmbeddedResource>
<DependentUpon>frmAddTree.cs</DependentUpon> <EmbeddedResource Include="SuperColor\SuperColor.resx">
</EmbeddedResource> <DependentUpon>SuperColor.cs</DependentUpon>
<EmbeddedResource Include="TreeXML\frmAuthUser.resx"> </EmbeddedResource>
<DependentUpon>frmAuthUser.cs</DependentUpon> <EmbeddedResource Include="TreeXML\ctlTreeView.resx">
</EmbeddedResource> <DependentUpon>ctlTreeView.cs</DependentUpon>
<EmbeddedResource Include="TreeXML\frmChangePwd.resx"> </EmbeddedResource>
<DependentUpon>frmChangePwd.cs</DependentUpon> <EmbeddedResource Include="TreeXML\frmAddTree.resx">
</EmbeddedResource> <DependentUpon>frmAddTree.cs</DependentUpon>
<EmbeddedResource Include="TreeXML\frmPwd.resx"> </EmbeddedResource>
<DependentUpon>frmPwd.cs</DependentUpon> <EmbeddedResource Include="TreeXML\frmAuthUser.resx">
</EmbeddedResource> <DependentUpon>frmAuthUser.cs</DependentUpon>
</ItemGroup> </EmbeddedResource>
<ItemGroup> <EmbeddedResource Include="TreeXML\frmChangePwd.resx">
<ProjectReference Include="..\MyDb\MyDbV4.csproj"> <DependentUpon>frmChangePwd.cs</DependentUpon>
<Project>{9df20d86-a56e-4cf6-a3d8-f30421297b1b}</Project> </EmbeddedResource>
<Name>MyDbV4</Name> <EmbeddedResource Include="TreeXML\frmPwd.resx">
</ProjectReference> <DependentUpon>frmPwd.cs</DependentUpon>
</ItemGroup> </EmbeddedResource>
<ItemGroup> </ItemGroup>
<Content Include="Controls\ButtonImages\Toolbar_Hover.png" /> <ItemGroup>
<None Include="Resources\UpArrow.png" /> <ProjectReference Include="..\MyDb\MyDbV4.csproj">
<None Include="Resources\DownArrow.png" /> <Project>{9df20d86-a56e-4cf6-a3d8-f30421297b1b}</Project>
<EmbeddedResource Include="close.png" /> <Name>MyDbV4</Name>
<EmbeddedResource Include="close_normal.png" /> </ProjectReference>
<EmbeddedResource Include="icon_normal.png" /> </ItemGroup>
<EmbeddedResource Include="TabButtonBackground.bmp" /> <ItemGroup>
<EmbeddedResource Include="Controls\FormImages\borderbm.bmp" /> <Content Include="Controls\ButtonImages\Toolbar_Hover.png" />
<EmbeddedResource Include="Controls\FormImages\btn_close.png" /> <None Include="Resources\UpArrow.png" />
<EmbeddedResource Include="Controls\FormImages\btn_close_Hover.png" /> <None Include="Resources\DownArrow.png" />
<EmbeddedResource Include="Controls\FormImages\btn_max.png" /> <EmbeddedResource Include="close.png" />
<EmbeddedResource Include="Controls\FormImages\btn_max_Hover.png" /> <EmbeddedResource Include="close_normal.png" />
<EmbeddedResource Include="Controls\FormImages\btn_mini.png" /> <EmbeddedResource Include="icon_normal.png" />
<EmbeddedResource Include="Controls\FormImages\btn_mini_Hover.png" /> <EmbeddedResource Include="TabButtonBackground.bmp" />
</ItemGroup> <EmbeddedResource Include="Controls\FormImages\borderbm.bmp" />
<ItemGroup /> <EmbeddedResource Include="Controls\FormImages\btn_close.png" />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <EmbeddedResource Include="Controls\FormImages\btn_close_Hover.png" />
<EmbeddedResource Include="Controls\FormImages\btn_max.png" />
<EmbeddedResource Include="Controls\FormImages\btn_max_Hover.png" />
<EmbeddedResource Include="Controls\FormImages\btn_mini.png" />
<EmbeddedResource Include="Controls\FormImages\btn_mini_Hover.png" />
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets. Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild"> <Target Name="BeforeBuild">
</Target> </Target>
<Target Name="AfterBuild"> <Target Name="AfterBuild">
</Target> </Target>
--> -->
</Project> </Project>