Commit fed1749f HZH

滚动条

1 个父辈 26249d36
......@@ -1383,7 +1383,7 @@ namespace HZH_Controls.Controls
this.label10.Size = new System.Drawing.Size(65, 66);
this.label10.TabIndex = 2;
this.label10.Tag = "@";
this.label10.Text = "r";
this.label10.Text = "t";
this.label10.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.label10.MouseDown += new System.Windows.Forms.MouseEventHandler(this.KeyDown_MouseDown);
//
......@@ -1432,7 +1432,7 @@ namespace HZH_Controls.Controls
this.label9.Size = new System.Drawing.Size(65, 66);
this.label9.TabIndex = 2;
this.label9.Tag = "9";
this.label9.Text = "t";
this.label9.Text = "r";
this.label9.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.label9.MouseDown += new System.Windows.Forms.MouseEventHandler(this.KeyDown_MouseDown);
//
......
......@@ -13,13 +13,15 @@ namespace HZH_Controls.Controls.ScrollBar
{
public ScrollbarComponent()
{
}
public ScrollbarComponent(IContainer container)
{
container.Add(this);
}
bool m_blnUserCustomScrollbar = true;
Dictionary<Control, bool> m_controlCache = new Dictionary<Control, bool>();
public bool CanExtend(object extendee)
{
if (extendee is ScrollableControl)
......@@ -52,21 +54,25 @@ namespace HZH_Controls.Controls.ScrollBar
[Browsable(true), Category("自定义属性"), Description("是否使用自定义滚动条"), DisplayName("UserCustomScrollbar"), Localizable(true)]
public bool GetUserCustomScrollbar(Control control)
{
return m_blnUserCustomScrollbar;
if (m_controlCache.ContainsKey(control))
return m_controlCache[control];
return true;
}
public void SetUserCustomScrollbar(Control control, bool blnUserCustomScrollbar)
{
m_blnUserCustomScrollbar = blnUserCustomScrollbar;
m_controlCache[control] = blnUserCustomScrollbar;
if (!blnUserCustomScrollbar)
return;
control.VisibleChanged += control_VisibleChanged;
control.SizeChanged += control_SizeChanged;
control.LocationChanged += control_LocationChanged;
control.Disposed += control_Disposed;
if (control is TreeView)
{
TreeView tv = (TreeView)control;
tv.MouseWheel += tv_MouseWheel;
tv.MouseWheel += tv_MouseWheel;
tv.AfterSelect += tv_AfterSelect;
tv.AfterExpand += tv_AfterExpand;
tv.AfterCollapse += tv_AfterCollapse;
......@@ -76,12 +82,11 @@ namespace HZH_Controls.Controls.ScrollBar
TextBox txt = (TextBox)control;
txt.MouseWheel += txt_MouseWheel;
txt.TextChanged += txt_TextChanged;
txt.KeyDown += txt_KeyDown;
}
control_SizeChanged(control, null);
}
void control_Disposed(object sender, EventArgs e)
{
......@@ -95,7 +100,7 @@ namespace HZH_Controls.Controls.ScrollBar
void control_LocationChanged(object sender, EventArgs e)
{
ResetVScrollLocation(sender);
ResetScrollLocation(sender);
}
void control_SizeChanged(object sender, EventArgs e)
......@@ -117,6 +122,8 @@ namespace HZH_Controls.Controls.ScrollBar
if (control.Parent != null)
{
UCVScrollbar barV = new UCVScrollbar();
barV.Width = SystemInformation.VerticalScrollBarWidth;
barV.Scroll += barV_Scroll;
m_lstVCache[control] = barV;
if (blnHasHScrollbar)
......@@ -148,31 +155,57 @@ namespace HZH_Controls.Controls.ScrollBar
}
}
//if (blnHasHScrollbar)
//{
// if (control.Parent != null)
// {
if (blnHasHScrollbar)
{
if (!m_lstHCache.ContainsKey(control))
{
if (control.Parent != null)
{
UCHScrollbar barH = new UCHScrollbar();
barH.Height = SystemInformation.HorizontalScrollBarHeight;
// }
//}
//else
//{
// if (m_lstHCache.ContainsKey(control))
// {
// if (m_lstHCache[control].Visible)
// {
// m_lstHCache[control].Parent.Controls.Remove(m_lstHCache[control]);
// }
// }
//}
barH.Scroll += barH_Scroll;
m_lstHCache[control] = barH;
if (blnHasHScrollbar)
{
barH.Width = control.Width - barH.Height - 2;
}
else
{
barH.Width = control.Width - 2;
}
SetHMaxNum(control);
barH.Location = new System.Drawing.Point(control.Left + 1, control.Bottom - barH.Height - 1);
control.Parent.Controls.Add(barH);
int intControlIndex = control.Parent.Controls.GetChildIndex(control);
control.Parent.Controls.SetChildIndex(barH, intControlIndex);
}
}
else
{
SetHMaxNum(control);
}
}
else
{
if (m_lstHCache.ContainsKey(control))
{
if (m_lstHCache[control].Visible)
{
m_lstHCache[control].Parent.Controls.Remove(m_lstHCache[control]);
}
}
}
}
ResetVScrollLocation(sender);
ResetScrollLocation(sender);
}
private void SetVMaxNum(Control control)
{
if (!m_lstVCache.ContainsKey(control))
return;
var into = ControlHelper.GetVScrollBarInfo(control.Handle);
var intoH = ControlHelper.GetHScrollBarInfo(control.Handle);
UCVScrollbar barV = m_lstVCache[control];
if (control is ScrollableControl)
{
......@@ -198,11 +231,40 @@ namespace HZH_Controls.Controls.ScrollBar
barV.Value = (control as TextBox).AutoScrollOffset.Y;
}
}
private void SetHMaxNum(Control control)
{
if (!m_lstHCache.ContainsKey(control))
return;
UCHScrollbar barH = m_lstHCache[control];
if (control is ScrollableControl)
{
barH.Maximum = (control as ScrollableControl).HorizontalScroll.Maximum;
barH.Value = (control as ScrollableControl).HorizontalScroll.Value;
}
else if (control is TreeView)
{
barH.Maximum = GetTreeNodeMaxX(control as TreeView);
barH.Value = (control as TreeView).AutoScrollOffset.X;
}
else if (control is TextBox)
{
TextBox txt = (TextBox)control;
int intTxtMaxWidth = 0;
int intTextWidth = 0;
using (var g = txt.CreateGraphics())
{
intTxtMaxWidth = (int)g.MeasureString(txt.Text, txt.Font).Width;
intTextWidth = (int)g.MeasureString(txt.Text.Substring(0, txt.SelectionStart), txt.Font).Width;
}
barH.Maximum = intTxtMaxWidth;
barH.Value = (control as TextBox).AutoScrollOffset.Y;
}
}
/// <summary>
/// Resets the v scroll location.
/// </summary>
/// <param name="sender">The sender.</param>
private void ResetVScrollLocation(object sender)
private void ResetScrollLocation(object sender)
{
Control control = (Control)sender;
bool blnHasVScrollbar = control.IsHandleCreated && (ControlHelper.GetWindowLong(control.Handle, STYLE) & VSCROLL) != 0;
......@@ -221,8 +283,22 @@ namespace HZH_Controls.Controls.ScrollBar
m_lstVCache[control].Height = control.Height - 2;
}
}
if (m_lstHCache.ContainsKey(control))
{
m_lstHCache[control].Location = new System.Drawing.Point(control.Left + 1, control.Bottom - m_lstHCache[control].Height - 1);
if (blnHasHScrollbar)
{
m_lstHCache[control].Width = control.Width - m_lstHCache[control].Height - 2;
}
else
{
m_lstHCache[control].Width = control.Width - 2;
}
}
}
}
/// <summary>
/// Handles the VisibleChanged event of the control control.
/// </summary>
......@@ -238,6 +314,12 @@ namespace HZH_Controls.Controls.ScrollBar
m_lstVCache[control].Parent.Controls.Remove(m_lstVCache[control]);
m_lstVCache.Remove(control);
}
if (m_lstHCache.ContainsKey(control) && m_lstHCache[control].Parent != null)
{
m_lstHCache[control].Parent.Controls.Remove(m_lstHCache[control]);
m_lstHCache.Remove(control);
}
}
}
......@@ -246,7 +328,7 @@ namespace HZH_Controls.Controls.ScrollBar
private const int STYLE = -16;
private Dictionary<Control, UCVScrollbar> m_lstVCache = new Dictionary<Control, UCVScrollbar>();
//private Dictionary<ScrollableControl, UCVScrollbar> m_lstHCache = new Dictionary<ScrollableControl, UCVScrollbar>();
private Dictionary<Control, UCHScrollbar> m_lstHCache = new Dictionary<Control, UCHScrollbar>();
void barV_Scroll(object sender, EventArgs e)
{
......@@ -256,17 +338,40 @@ namespace HZH_Controls.Controls.ScrollBar
Control c = m_lstVCache.FirstOrDefault(p => p.Value == bar).Key;
if (c is ScrollableControl)
{
(c as ScrollableControl).AutoScrollPosition = new Point(0, bar.Value);
(c as ScrollableControl).AutoScrollPosition = new Point((c as ScrollableControl).AutoScrollPosition.X, bar.Value);
}
else if (c is TreeView)
{
TreeView tv = (c as TreeView);
SetTreeViewScrollLocation(tv, tv.Nodes, bar.Value);
SetTreeViewVScrollLocation(tv, tv.Nodes, bar.Value);
}
else if (c is TextBox)
{
TextBox txt = (c as TextBox);
SetTextBoxScrollLocation(txt, bar.Value);
SetTextBoxVScrollLocation(txt, bar.Value);
}
}
}
void barH_Scroll(object sender, EventArgs e)
{
UCHScrollbar bar = (UCHScrollbar)sender;
if (m_lstHCache.ContainsValue(bar))
{
Control c = m_lstHCache.FirstOrDefault(p => p.Value == bar).Key;
if (c is ScrollableControl)
{
(c as ScrollableControl).AutoScrollPosition = new Point(bar.Value, (c as ScrollableControl).AutoScrollPosition.Y);
}
else if (c is TreeView)
{
//TreeView tv = (c as TreeView);
//SetTreeViewVScrollLocation(tv, tv.Nodes, bar.Value);
}
else if (c is TextBox)
{
//TextBox txt = (c as TextBox);
//SetTextBoxVScrollLocation(txt, bar.Value);
}
}
}
......@@ -297,6 +402,11 @@ namespace HZH_Controls.Controls.ScrollBar
}
return tnLast.Bounds.Bottom;
}
private int GetTreeNodeMaxX(TreeView tv)
{
return tv.Nodes[0].Bounds.Right;
}
void tv_AfterSelect(object sender, TreeViewEventArgs e)
{
TreeView tv = (TreeView)sender;
......@@ -321,18 +431,18 @@ namespace HZH_Controls.Controls.ScrollBar
/// <param name="tns">The TNS.</param>
/// <param name="intY">The int y.</param>
/// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
private bool SetTreeViewScrollLocation(TreeView tv, TreeNodeCollection tns, int intY)
private bool SetTreeViewVScrollLocation(TreeView tv, TreeNodeCollection tns, int intY)
{
for (int i = 0; i < tns.Count; i++)
{
if (intY >= tns[i].Bounds.Top - tv.Nodes[0].Bounds.Top - 3 && intY <= tns[i].Bounds.Bottom - tv.Nodes[0].Bounds.Top + 3)
{
tns[i].EnsureVisible();
tns[i].EnsureVisible();
return true;
}
else if (tns[i].IsExpanded && tns[i].Nodes.Count > 0)
{
bool bln = SetTreeViewScrollLocation(tv, tns[i].Nodes, intY);
bool bln = SetTreeViewVScrollLocation(tv, tns[i].Nodes, intY);
if (bln)
return true;
}
......@@ -357,7 +467,7 @@ namespace HZH_Controls.Controls.ScrollBar
}
}
}
private void SetTextBoxScrollLocation(TextBox txt, int intY)
private void SetTextBoxVScrollLocation(TextBox txt, int intY)
{
using (var g = txt.CreateGraphics())
{
......
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Windows.Forms.Design;
namespace HZH_Controls.Controls
{
/// <summary>
/// Class ScrollbarControlDesigner.
/// Implements the <see cref="System.Windows.Forms.Design.ControlDesigner" />
/// </summary>
/// <seealso cref="System.Windows.Forms.Design.ControlDesigner" />
internal class ScrollbarControlDesigner : System.Windows.Forms.Design.ControlDesigner
{
/// <summary>
/// 获取指示组件的移动功能的选择规则。
/// </summary>
/// <value>The selection rules.</value>
public override SelectionRules SelectionRules
{
get
{
SelectionRules selectionRules = base.SelectionRules;
PropertyDescriptor propDescriptor = TypeDescriptor.GetProperties(this.Component)["AutoSize"];
if (propDescriptor != null)
{
bool autoSize = (bool)propDescriptor.GetValue(this.Component);
if (autoSize)
{
selectionRules = SelectionRules.Visible | SelectionRules.Moveable | SelectionRules.BottomSizeable | SelectionRules.TopSizeable;
}
else
{
selectionRules = SelectionRules.Visible | SelectionRules.AllSizeable | SelectionRules.Moveable;
}
}
return selectionRules;
}
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace HZH_Controls.Controls
{
[Designer(typeof(ScrollbarControlDesigner))]
[DefaultEvent("Scroll")]
public class UCHScrollbar : UCControlBase
{
#region 属性 English:attribute
/// <summary>
/// The mo large change
/// </summary>
protected int moLargeChange = 10;
/// <summary>
/// The mo small change
/// </summary>
protected int moSmallChange = 1;
/// <summary>
/// The mo minimum
/// </summary>
protected int moMinimum = 0;
/// <summary>
/// The mo maximum
/// </summary>
protected int moMaximum = 100;
/// <summary>
/// The mo value
/// </summary>
protected int moValue = 0;
/// <summary>
/// The n click point
/// </summary>
private int nClickPoint;
/// <summary>
/// The mo thumb top
/// </summary>
protected int moThumbLeft = 0;
/// <summary>
/// The mo automatic size
/// </summary>
protected bool moAutoSize = false;
/// <summary>
/// The mo thumb down
/// </summary>
private bool moThumbMouseDown = false;
/// <summary>
/// The mo thumb dragging
/// </summary>
private bool moThumbMouseDragging = false;
/// <summary>
/// Occurs when [scroll].
/// </summary>
public new event EventHandler Scroll = null;
/// <summary>
/// Occurs when [value changed].
/// </summary>
public event EventHandler ValueChanged = null;
/// <summary>
/// The BTN height
/// </summary>
private int btnWidth = 18;
/// <summary>
/// The m int thumb minimum height
/// </summary>
private int m_intThumbMinWidth = 15;
/// <summary>
/// Gets or sets the height of the BTN.
/// </summary>
/// <value>The height of the BTN.</value>
public int BtnWidth
{
get { return btnWidth; }
set { btnWidth = value; }
}
/// <summary>
/// Gets or sets the large change.
/// </summary>
/// <value>The large change.</value>
[EditorBrowsable(EditorBrowsableState.Always), Browsable(true), DefaultValue(false), Category("自定义"), Description("LargeChange")]
public int LargeChange
{
get { return moLargeChange; }
set
{
moLargeChange = value;
Invalidate();
}
}
/// <summary>
/// Gets or sets the small change.
/// </summary>
/// <value>The small change.</value>
[EditorBrowsable(EditorBrowsableState.Always), Browsable(true), DefaultValue(false), Category("自定义"), Description("SmallChange")]
public int SmallChange
{
get { return moSmallChange; }
set
{
moSmallChange = value;
Invalidate();
}
}
/// <summary>
/// Gets or sets the minimum.
/// </summary>
/// <value>The minimum.</value>
[EditorBrowsable(EditorBrowsableState.Always), Browsable(true), DefaultValue(false), Category("自定义"), Description("Minimum")]
public int Minimum
{
get { return moMinimum; }
set
{
moMinimum = value;
Invalidate();
}
}
/// <summary>
/// Gets or sets the maximum.
/// </summary>
/// <value>The maximum.</value>
[EditorBrowsable(EditorBrowsableState.Always), Browsable(true), DefaultValue(false), Category("自定义"), Description("Maximum")]
public int Maximum
{
get { return moMaximum; }
set
{
moMaximum = value;
Invalidate();
}
}
/// <summary>
/// Gets or sets the value.
/// </summary>
/// <value>The value.</value>
[EditorBrowsable(EditorBrowsableState.Always), Browsable(true), DefaultValue(false), Category("自定义"), Description("Value")]
public int Value
{
get { return moValue; }
set
{
moValue = value;
int nTrackWidth = (this.Width - btnWidth * 2);
float fThumbWidth = ((float)LargeChange / (float)Maximum) * nTrackWidth;
int nThumbWidth = (int)fThumbWidth;
if (nThumbWidth > nTrackWidth)
{
nThumbWidth = nTrackWidth;
fThumbWidth = nTrackWidth;
}
if (nThumbWidth < m_intThumbMinWidth)
{
nThumbWidth = m_intThumbMinWidth;
fThumbWidth = m_intThumbMinWidth;
}
//figure out value
int nPixelRange = nTrackWidth - nThumbWidth;
int nRealRange = (Maximum - Minimum) - LargeChange;
float fPerc = 0.0f;
if (nRealRange != 0)
{
fPerc = (float)moValue / (float)nRealRange;
}
float fLeft = fPerc * nPixelRange;
moThumbLeft = (int)fLeft;
Invalidate();
}
}
/// <summary>
/// Gets or sets a value indicating whether [automatic size].
/// </summary>
/// <value><c>true</c> if [automatic size]; otherwise, <c>false</c>.</value>
public override bool AutoSize
{
get
{
return base.AutoSize;
}
set
{
base.AutoSize = value;
if (base.AutoSize)
{
this.Width = 15;
}
}
}
/// <summary>
/// The thumb color
/// </summary>
private Color thumbColor = Color.FromArgb(255, 77, 58);
/// <summary>
/// Gets or sets the color of the thumb.
/// </summary>
/// <value>The color of the thumb.</value>
public Color ThumbColor
{
get { return thumbColor; }
set { thumbColor = value; }
}
#endregion
public UCHScrollbar()
{
InitializeComponent();
ConerRadius = 2;
FillColor = Color.FromArgb(239, 239, 239);
IsShowRect = false;
IsRadius = true;
this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
this.SetStyle(ControlStyles.DoubleBuffer, true);
this.SetStyle(ControlStyles.ResizeRedraw, true);
this.SetStyle(ControlStyles.Selectable, true);
this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
this.SetStyle(ControlStyles.UserPaint, true);
}
/// <summary>
/// Initializes the component.
/// </summary>
private void InitializeComponent()
{
this.SuspendLayout();
this.MinimumSize = new System.Drawing.Size(0, 10);
this.Name = "UCHScrollbar";
this.Size = new System.Drawing.Size(150, 18);
this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.CustomScrollbar_MouseDown);
this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.CustomScrollbar_MouseMove);
this.MouseUp += new System.Windows.Forms.MouseEventHandler(this.CustomScrollbar_MouseUp);
this.ResumeLayout(false);
}
#region 鼠标事件 English:Mouse event
/// <summary>
/// Handles the MouseDown event of the CustomScrollbar control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="MouseEventArgs"/> instance containing the event data.</param>
private void CustomScrollbar_MouseDown(object sender, MouseEventArgs e)
{
Point ptPoint = this.PointToClient(Cursor.Position);
int nTrackWidth = (this.Width - btnWidth * 2);
float fThumbWidth = ((float)LargeChange / (float)Maximum) * nTrackWidth;
int nThumbWidth = (int)fThumbWidth;
if (nThumbWidth > nTrackWidth)
{
nThumbWidth = nTrackWidth;
fThumbWidth = nTrackWidth;
}
if (nThumbWidth < m_intThumbMinWidth)
{
nThumbWidth = m_intThumbMinWidth;
fThumbWidth = m_intThumbMinWidth;
}
int nLeft = moThumbLeft;
nLeft += btnWidth;
Rectangle thumbrect = new Rectangle(new Point(nLeft, 1), new Size(nThumbWidth, this.Height - 2));
//滑块
if (thumbrect.Contains(ptPoint))
{
//hit the thumb
nClickPoint = (ptPoint.X - nLeft);
this.moThumbMouseDown = true;
}
else
{
//左按钮
Rectangle leftarrowrect = new Rectangle(new Point(0, 1), new Size(btnWidth, this.Height));
if (leftarrowrect.Contains(ptPoint))
{
int nRealRange = (Maximum - Minimum) - LargeChange;
int nPixelRange = (nTrackWidth - nThumbWidth);
if (nRealRange > 0)
{
if (nPixelRange > 0)
{
if ((moThumbLeft - SmallChange) < 0)
moThumbLeft = 0;
else
moThumbLeft -= SmallChange;
//figure out value
float fPerc = (float)moThumbLeft / (float)nPixelRange;
float fValue = fPerc * (Maximum - LargeChange);
moValue = (int)fValue;
if (ValueChanged != null)
ValueChanged(this, new EventArgs());
if (Scroll != null)
Scroll(this, new EventArgs());
Invalidate();
}
}
}
else
{
Rectangle rightarrowrect = new Rectangle(new Point(btnWidth + nTrackWidth, 1), new Size(btnWidth, this.Height));
if (rightarrowrect.Contains(ptPoint))
{
int nRealRange = (Maximum - Minimum) - LargeChange;
int nPixelRange = (nTrackWidth - nThumbWidth);
if (nRealRange > 0)
{
if (nPixelRange > 0)
{
if ((moThumbLeft + SmallChange) > nPixelRange)
moThumbLeft = nPixelRange;
else
moThumbLeft += SmallChange;
//figure out value
float fPerc = (float)moThumbLeft / (float)nPixelRange;
float fValue = fPerc * (Maximum - LargeChange);
moValue = (int)fValue;
if (ValueChanged != null)
ValueChanged(this, new EventArgs());
if (Scroll != null)
Scroll(this, new EventArgs());
Invalidate();
}
}
}
}
}
}
/// <summary>
/// Handles the MouseUp event of the CustomScrollbar control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="MouseEventArgs"/> instance containing the event data.</param>
private void CustomScrollbar_MouseUp(object sender, MouseEventArgs e)
{
this.moThumbMouseDown = false;
this.moThumbMouseDragging = false;
}
/// <summary>
/// Moves the thumb.
/// </summary>
/// <param name="x">The y.</param>
private void MoveThumb(int x)
{
int nRealRange = Maximum - Minimum;
int nTrackWidth = (this.Width - btnWidth * 2);
float fThumbWidth = ((float)LargeChange / (float)Maximum) * nTrackWidth;
int nThumbWidth = (int)fThumbWidth;
if (nThumbWidth > nTrackWidth)
{
nThumbWidth = nTrackWidth;
fThumbWidth = nTrackWidth;
}
if (nThumbWidth < m_intThumbMinWidth)
{
nThumbWidth = m_intThumbMinWidth;
fThumbWidth = m_intThumbMinWidth;
}
int nSpot = nClickPoint;
int nPixelRange = (nTrackWidth - nThumbWidth);
if (moThumbMouseDown && nRealRange > 0)
{
if (nPixelRange > 0)
{
int nNewThumbLeft = x - (btnWidth + nSpot);
if (nNewThumbLeft < 0)
{
moThumbLeft = nNewThumbLeft = 0;
}
else if (nNewThumbLeft > nPixelRange)
{
moThumbLeft = nNewThumbLeft = nPixelRange;
}
else
{
moThumbLeft = x - (btnWidth + nSpot);
}
float fPerc = (float)moThumbLeft / (float)nPixelRange;
float fValue = fPerc * (Maximum - LargeChange);
moValue = (int)fValue;
Application.DoEvents();
Invalidate();
}
}
}
/// <summary>
/// Handles the MouseMove event of the CustomScrollbar control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="MouseEventArgs"/> instance containing the event data.</param>
private void CustomScrollbar_MouseMove(object sender, MouseEventArgs e)
{
if (!moThumbMouseDown)
return;
if (moThumbMouseDown == true)
{
this.moThumbMouseDragging = true;
}
if (this.moThumbMouseDragging)
{
MoveThumb(e.X);
}
if (ValueChanged != null)
ValueChanged(this, new EventArgs());
if (Scroll != null)
Scroll(this, new EventArgs());
}
#endregion
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
e.Graphics.SetGDIHigh();
//draw thumb
int nTrackWidth = (this.Width - btnWidth * 2);
float fThumbWidth = ((float)LargeChange / (float)Maximum) * nTrackWidth;
int nThumbWidth = (int)fThumbWidth;
if (nThumbWidth > nTrackWidth)
{
nThumbWidth = nTrackWidth;
fThumbWidth = nTrackWidth;
}
if (nThumbWidth < m_intThumbMinWidth)
{
nThumbWidth = m_intThumbMinWidth;
fThumbWidth = m_intThumbMinWidth;
}
int nLeft = moThumbLeft;
nLeft += btnWidth;
e.Graphics.FillPath(new SolidBrush(thumbColor), new Rectangle(nLeft, 1, nThumbWidth, this.Height - 3).CreateRoundedRectanglePath(this.ConerRadius));
ControlHelper.PaintTriangle(e.Graphics, new SolidBrush(thumbColor), new Point(btnWidth - Math.Min(5, this.Height / 2), this.Height / 2), Math.Min(5, this.Height / 2), GraphDirection.Leftward);
ControlHelper.PaintTriangle(e.Graphics, new SolidBrush(thumbColor), new Point(this.Width - (btnWidth - Math.Min(5, this.Height / 2)), this.Height / 2), Math.Min(5, this.Height / 2), GraphDirection.Rightward);
}
}
}
// ***********************************************************************
// Assembly : HZH_Controls
// Created : 2019-09-19
//
// ***********************************************************************
// <copyright file="UCVScrollbar.cs">
// Copyright by Huang Zhenghui(黄正辉) All, QQ group:568015492 QQ:623128629 Email:623128629@qq.com
// </copyright>
//
// Blog: https://www.cnblogs.com/bfyx
// GitHub:https://github.com/kwwwvagaa/NetWinformControl
// gitee:https://gitee.com/kwwwvagaa/net_winform_custom_control.git
//
// If you use this code, please keep this note.
// ***********************************************************************
using System;
using System.Collections.Generic;
using System.ComponentModel;
......@@ -12,33 +27,87 @@ using System.Diagnostics;
namespace HZH_Controls.Controls
{
/// <summary>
/// Class UCVScrollbar.
/// Implements the <see cref="HZH_Controls.Controls.UCControlBase" />
/// </summary>
/// <seealso cref="HZH_Controls.Controls.UCControlBase" />
[Designer(typeof(ScrollbarControlDesigner))]
[DefaultEvent("Scroll")]
public class UCVScrollbar : UCControlBase
{
//protected Color moChannelColor = Color.FromArgb(51, 166, 3);
{
/// <summary>
/// The mo large change
/// </summary>
protected int moLargeChange = 10;
/// <summary>
/// The mo small change
/// </summary>
protected int moSmallChange = 1;
/// <summary>
/// The mo minimum
/// </summary>
protected int moMinimum = 0;
/// <summary>
/// The mo maximum
/// </summary>
protected int moMaximum = 100;
/// <summary>
/// The mo value
/// </summary>
protected int moValue = 0;
/// <summary>
/// The n click point
/// </summary>
private int nClickPoint;
/// <summary>
/// The mo thumb top
/// </summary>
protected int moThumbTop = 0;
/// <summary>
/// The mo automatic size
/// </summary>
protected bool moAutoSize = false;
private bool moThumbDown = false;
private bool moThumbDragging = false;
/// <summary>
/// The mo thumb down
/// </summary>
private bool moThumbMouseDown = false;
/// <summary>
/// The mo thumb dragging
/// </summary>
private bool moThumbMouseDragging = false;
/// <summary>
/// Occurs when [scroll].
/// </summary>
public new event EventHandler Scroll = null;
/// <summary>
/// Occurs when [value changed].
/// </summary>
public event EventHandler ValueChanged = null;
/// <summary>
/// The BTN height
/// </summary>
private int btnHeight = 18;
/// <summary>
/// The m int thumb minimum height
/// </summary>
private int m_intThumbMinHeight = 15;
/// <summary>
/// Gets or sets the height of the BTN.
/// </summary>
/// <value>The height of the BTN.</value>
public int BtnHeight
{
get { return btnHeight; }
set { btnHeight = value; }
}
[EditorBrowsable(EditorBrowsableState.Always), Browsable(true), DefaultValue(false), Category("Behavior"), Description("LargeChange")]
/// <summary>
/// Gets or sets the large change.
/// </summary>
/// <value>The large change.</value>
[EditorBrowsable(EditorBrowsableState.Always), Browsable(true), DefaultValue(false), Category("自定义"), Description("LargeChange")]
public int LargeChange
{
get { return moLargeChange; }
......@@ -49,7 +118,11 @@ namespace HZH_Controls.Controls
}
}
[EditorBrowsable(EditorBrowsableState.Always), Browsable(true), DefaultValue(false), Category("Behavior"), Description("SmallChange")]
/// <summary>
/// Gets or sets the small change.
/// </summary>
/// <value>The small change.</value>
[EditorBrowsable(EditorBrowsableState.Always), Browsable(true), DefaultValue(false), Category("自定义"), Description("SmallChange")]
public int SmallChange
{
get { return moSmallChange; }
......@@ -60,7 +133,11 @@ namespace HZH_Controls.Controls
}
}
[EditorBrowsable(EditorBrowsableState.Always), Browsable(true), DefaultValue(false), Category("Behavior"), Description("Minimum")]
/// <summary>
/// Gets or sets the minimum.
/// </summary>
/// <value>The minimum.</value>
[EditorBrowsable(EditorBrowsableState.Always), Browsable(true), DefaultValue(false), Category("自定义"), Description("Minimum")]
public int Minimum
{
get { return moMinimum; }
......@@ -71,7 +148,11 @@ namespace HZH_Controls.Controls
}
}
[EditorBrowsable(EditorBrowsableState.Always), Browsable(true), DefaultValue(false), Category("Behavior"), Description("Maximum")]
/// <summary>
/// Gets or sets the maximum.
/// </summary>
/// <value>The maximum.</value>
[EditorBrowsable(EditorBrowsableState.Always), Browsable(true), DefaultValue(false), Category("自定义"), Description("Maximum")]
public int Maximum
{
get { return moMaximum; }
......@@ -82,7 +163,11 @@ namespace HZH_Controls.Controls
}
}
[EditorBrowsable(EditorBrowsableState.Always), Browsable(true), DefaultValue(false), Category("Behavior"), Description("Value")]
/// <summary>
/// Gets or sets the value.
/// </summary>
/// <value>The value.</value>
[EditorBrowsable(EditorBrowsableState.Always), Browsable(true), DefaultValue(false), Category("自定义"), Description("Value")]
public int Value
{
get { return moValue; }
......@@ -123,6 +208,10 @@ namespace HZH_Controls.Controls
}
}
/// <summary>
/// Gets or sets a value indicating whether [automatic size].
/// </summary>
/// <value><c>true</c> if [automatic size]; otherwise, <c>false</c>.</value>
public override bool AutoSize
{
get
......@@ -139,14 +228,24 @@ namespace HZH_Controls.Controls
}
}
/// <summary>
/// The thumb color
/// </summary>
private Color thumbColor = Color.FromArgb(255, 77, 58);
/// <summary>
/// Gets or sets the color of the thumb.
/// </summary>
/// <value>The color of the thumb.</value>
public Color ThumbColor
{
get { return thumbColor; }
set { thumbColor = value; }
}
/// <summary>
/// Initializes a new instance of the <see cref="UCVScrollbar"/> class.
/// </summary>
public UCVScrollbar()
{
InitializeComponent();
......@@ -162,9 +261,30 @@ namespace HZH_Controls.Controls
this.SetStyle(ControlStyles.UserPaint, true);
}
/// <summary>
/// Initializes the component.
/// </summary>
private void InitializeComponent()
{
this.SuspendLayout();
//
// UCVScrollbar
//
this.MinimumSize = new System.Drawing.Size(10, 0);
this.Name = "UCVScrollbar";
this.Size = new System.Drawing.Size(18, 150);
this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.CustomScrollbar_MouseDown);
this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.CustomScrollbar_MouseMove);
this.MouseUp += new System.Windows.Forms.MouseEventHandler(this.CustomScrollbar_MouseUp);
this.ResumeLayout(false);
}
/// <summary>
/// 引发 <see cref="E:System.Windows.Forms.Control.Paint" /> 事件。
/// </summary>
/// <param name="e">包含事件数据的 <see cref="T:System.Windows.Forms.PaintEventArgs" />。</param>
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
......@@ -194,22 +314,13 @@ namespace HZH_Controls.Controls
}
private void InitializeComponent()
{
this.SuspendLayout();
//
// UCVScrollbar
//
this.MinimumSize = new System.Drawing.Size(10, 0);
this.Name = "UCVScrollbar";
this.Size = new System.Drawing.Size(18, 150);
this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.CustomScrollbar_MouseDown);
this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.CustomScrollbar_MouseMove);
this.MouseUp += new System.Windows.Forms.MouseEventHandler(this.CustomScrollbar_MouseUp);
this.ResumeLayout(false);
}
/// <summary>
/// Handles the MouseDown event of the CustomScrollbar control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="MouseEventArgs"/> instance containing the event data.</param>
private void CustomScrollbar_MouseDown(object sender, MouseEventArgs e)
{
Point ptPoint = this.PointToClient(Cursor.Position);
......@@ -239,79 +350,93 @@ namespace HZH_Controls.Controls
//hit the thumb
nClickPoint = (ptPoint.Y - nTop);
//MessageBox.Show(Convert.ToString((ptPoint.Y - nTop)));
this.moThumbDown = true;
this.moThumbMouseDown = true;
}
Rectangle uparrowrect = new Rectangle(new Point(1, 0), new Size(this.Width, btnHeight));
if (uparrowrect.Contains(ptPoint))
else
{
int nRealRange = (Maximum - Minimum) - LargeChange;
int nPixelRange = (nTrackHeight - nThumbHeight);
if (nRealRange > 0)
Rectangle uparrowrect = new Rectangle(new Point(1, 0), new Size(this.Width, btnHeight));
if (uparrowrect.Contains(ptPoint))
{
if (nPixelRange > 0)
int nRealRange = (Maximum - Minimum) - LargeChange;
int nPixelRange = (nTrackHeight - nThumbHeight);
if (nRealRange > 0)
{
if ((moThumbTop - SmallChange) < 0)
moThumbTop = 0;
else
moThumbTop -= SmallChange;
if (nPixelRange > 0)
{
if ((moThumbTop - SmallChange) < 0)
moThumbTop = 0;
else
moThumbTop -= SmallChange;
//figure out value
float fPerc = (float)moThumbTop / (float)nPixelRange;
float fValue = fPerc * (Maximum - LargeChange);
//figure out value
float fPerc = (float)moThumbTop / (float)nPixelRange;
float fValue = fPerc * (Maximum - LargeChange);
moValue = (int)fValue;
moValue = (int)fValue;
if (ValueChanged != null)
ValueChanged(this, new EventArgs());
if (ValueChanged != null)
ValueChanged(this, new EventArgs());
if (Scroll != null)
Scroll(this, new EventArgs());
if (Scroll != null)
Scroll(this, new EventArgs());
Invalidate();
Invalidate();
}
}
}
}
Rectangle downarrowrect = new Rectangle(new Point(1, btnHeight + nTrackHeight), new Size(this.Width, btnHeight));
if (downarrowrect.Contains(ptPoint))
{
int nRealRange = (Maximum - Minimum) - LargeChange;
int nPixelRange = (nTrackHeight - nThumbHeight);
if (nRealRange > 0)
else
{
if (nPixelRange > 0)
Rectangle downarrowrect = new Rectangle(new Point(1, btnHeight + nTrackHeight), new Size(this.Width, btnHeight));
if (downarrowrect.Contains(ptPoint))
{
if ((moThumbTop + SmallChange) > nPixelRange)
moThumbTop = nPixelRange;
else
moThumbTop += SmallChange;
//figure out value
float fPerc = (float)moThumbTop / (float)nPixelRange;
float fValue = fPerc * (Maximum - LargeChange);
moValue = (int)fValue;
if (ValueChanged != null)
ValueChanged(this, new EventArgs());
if (Scroll != null)
Scroll(this, new EventArgs());
Invalidate();
int nRealRange = (Maximum - Minimum) - LargeChange;
int nPixelRange = (nTrackHeight - nThumbHeight);
if (nRealRange > 0)
{
if (nPixelRange > 0)
{
if ((moThumbTop + SmallChange) > nPixelRange)
moThumbTop = nPixelRange;
else
moThumbTop += SmallChange;
//figure out value
float fPerc = (float)moThumbTop / (float)nPixelRange;
float fValue = fPerc * (Maximum - LargeChange);
moValue = (int)fValue;
if (ValueChanged != null)
ValueChanged(this, new EventArgs());
if (Scroll != null)
Scroll(this, new EventArgs());
Invalidate();
}
}
}
}
}
}
/// <summary>
/// Handles the MouseUp event of the CustomScrollbar control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="MouseEventArgs"/> instance containing the event data.</param>
private void CustomScrollbar_MouseUp(object sender, MouseEventArgs e)
{
this.moThumbDown = false;
this.moThumbDragging = false;
this.moThumbMouseDown = false;
this.moThumbMouseDragging = false;
}
/// <summary>
/// Moves the thumb.
/// </summary>
/// <param name="y">The y.</param>
private void MoveThumb(int y)
{
int nRealRange = Maximum - Minimum;
......@@ -333,7 +458,7 @@ namespace HZH_Controls.Controls
int nSpot = nClickPoint;
int nPixelRange = (nTrackHeight - nThumbHeight);
if (moThumbDown && nRealRange > 0)
if (moThumbMouseDown && nRealRange > 0)
{
if (nPixelRange > 0)
{
......@@ -364,17 +489,22 @@ namespace HZH_Controls.Controls
}
}
/// <summary>
/// Handles the MouseMove event of the CustomScrollbar control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="MouseEventArgs"/> instance containing the event data.</param>
private void CustomScrollbar_MouseMove(object sender, MouseEventArgs e)
{
if (!moThumbDown)
if (!moThumbMouseDown)
return;
if (moThumbDown == true)
if (moThumbMouseDown == true)
{
this.moThumbDragging = true;
this.moThumbMouseDragging = true;
}
if (this.moThumbDragging)
if (this.moThumbMouseDragging)
{
MoveThumb(e.Y);
}
......@@ -386,30 +516,5 @@ namespace HZH_Controls.Controls
Scroll(this, new EventArgs());
}
}
internal class ScrollbarControlDesigner : System.Windows.Forms.Design.ControlDesigner
{
public override SelectionRules SelectionRules
{
get
{
SelectionRules selectionRules = base.SelectionRules;
PropertyDescriptor propDescriptor = TypeDescriptor.GetProperties(this.Component)["AutoSize"];
if (propDescriptor != null)
{
bool autoSize = (bool)propDescriptor.GetValue(this.Component);
if (autoSize)
{
selectionRules = SelectionRules.Visible | SelectionRules.Moveable | SelectionRules.BottomSizeable | SelectionRules.TopSizeable;
}
else
{
selectionRules = SelectionRules.Visible | SelectionRules.AllSizeable | SelectionRules.Moveable;
}
}
return selectionRules;
}
}
}
}
}
\ No newline at end of file
......@@ -61,6 +61,10 @@
<Compile Include="Controls\ScrollBar\ScrollbarComponent.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Controls\ScrollBar\ScrollbarControlDesigner.cs" />
<Compile Include="Controls\ScrollBar\UCHScrollbar.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Helpers\GraphDirection.cs" />
<Compile Include="Controls\Charts\UCBarChart.cs">
<SubType>UserControl</SubType>
......@@ -302,6 +306,7 @@
<Compile Include="Controls\TrackBar\UCTrackBar.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Helpers\WindowsHook.cs" />
<Compile Include="UIEditor\FrmSelectImage.cs">
<SubType>Form</SubType>
</Compile>
......
......@@ -2,7 +2,7 @@
<package >
<metadata>
<id>$id$</id>
<version>1.0.4</version>
<version>1.0.5</version>
<title>HZHControls</title>
<authors>HuangZhengHui</authors>
<owners>HuangZhengHui</owners>
......
......@@ -1312,5 +1312,62 @@ namespace HZH_Controls
return returnFlag;
}
#region 滚动条 English:scroll bar
static uint SB_HORZ = 0x0;
static uint SB_VERT = 0x1;
static uint SB_CTL = 0x2;
static uint SB_BOTH = 0x3;
[DllImport("user32.dll", SetLastError = true, EntryPoint = "GetScrollInfo")]
private static extern int GetScrollInfo(IntPtr hWnd, uint idObject, ref SCROLLINFO psbi);
/// <summary>
///获取水平滚动条信息
/// </summary>
/// <param name="hWnd">The h WND.</param>
/// <returns>Scrollbarinfo.</returns>
public static SCROLLINFO GetHScrollBarInfo(IntPtr hWnd)
{
SCROLLINFO info = new SCROLLINFO();
info.cbSize = (uint)Marshal.SizeOf(info);
info.fMask = (int)ScrollInfoMask.SIF_ALL;
int intRef = GetScrollInfo(hWnd, SB_HORZ, ref info);
return info;
}
/// <summary>
/// 获取垂直滚动条信息
/// </summary>
/// <param name="hWnd">The h WND.</param>
/// <returns>Scrollbarinfo.</returns>
public static SCROLLINFO GetVScrollBarInfo(IntPtr hWnd)
{
SCROLLINFO info = new SCROLLINFO();
info.cbSize = (uint)Marshal.SizeOf(info);
info.fMask = (int)ScrollInfoMask.SIF_ALL;
int intRef = GetScrollInfo(hWnd, SB_VERT, ref info);
return info;
}
public struct SCROLLINFO
{
public uint cbSize;
public uint fMask;
public int nMin;
public int nMax;
public uint nPage;
public int nPos;
public int nTrackPos;
}
public enum ScrollInfoMask : uint
{
SIF_RANGE = 0x1,
SIF_PAGE = 0x2,
SIF_POS = 0x4,
SIF_DISABLENOSCROLL = 0x8,
SIF_TRACKPOS = 0x10,
SIF_ALL = (SIF_RANGE | SIF_PAGE | SIF_POS | SIF_TRACKPOS),
}
#endregion
}
}
......@@ -107,44 +107,7 @@ namespace HZH_Controls
/// </summary>
public int dwExtraInfo;
}
/// <summary>
/// The wh mouse ll
/// </summary>
public const int WH_MOUSE_LL = 14; // mouse hook constant
// 装置钩子的函数
/// <summary>
/// Sets the windows hook ex.
/// </summary>
/// <param name="idHook">The identifier hook.</param>
/// <param name="lpfn">The LPFN.</param>
/// <param name="hInstance">The h instance.</param>
/// <param name="threadId">The thread identifier.</param>
/// <returns>System.Int32.</returns>
[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
public static extern int SetWindowsHookEx(int idHook, HookProc lpfn, IntPtr hInstance, int threadId);
// 卸下钩子的函数
/// <summary>
/// Unhooks the windows hook ex.
/// </summary>
/// <param name="idHook">The identifier hook.</param>
/// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
public static extern bool UnhookWindowsHookEx(int idHook);
// 下一个钩挂的函数
/// <summary>
/// Calls the next hook ex.
/// </summary>
/// <param name="idHook">The identifier hook.</param>
/// <param name="nCode">The n code.</param>
/// <param name="wParam">The w parameter.</param>
/// <param name="lParam">The l parameter.</param>
/// <returns>System.Int32.</returns>
[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
public static extern int CallNextHookEx(int idHook, int nCode, Int32 wParam, IntPtr lParam);
// 全局的鼠标事件
/// <summary>
......@@ -152,21 +115,7 @@ namespace HZH_Controls
/// </summary>
public static event MouseEventHandler OnMouseActivity;
// 钩子回调函数
/// <summary>
/// Delegate HookProc
/// </summary>
/// <param name="nCode">The n code.</param>
/// <param name="wParam">The w parameter.</param>
/// <param name="lParam">The l parameter.</param>
/// <returns>System.Int32.</returns>
public delegate int HookProc(int nCode, Int32 wParam, IntPtr lParam);
// 声明鼠标钩子事件类型
/// <summary>
/// The mouse hook procedure
/// </summary>
private static HookProc _mouseHookProcedure;
/// <summary>
/// The h mouse hook
/// </summary>
......@@ -184,54 +133,25 @@ namespace HZH_Controls
Stop();
}
// 生成一个HookProc的实例.
_mouseHookProcedure = new HookProc(MouseHookProc);
_hMouseHook = SetWindowsHookEx(WH_MOUSE_LL, _mouseHookProcedure, Marshal.GetHINSTANCE(System.Reflection.Assembly.GetEntryAssembly().GetModules()[0]), 0);
WindowsHook.HookMsgChanged += WindowsHook_HookMsgChanged;
_hMouseHook = WindowsHook.StartHook(HookType.WH_MOUSE_LL);
//假设装置失败停止钩子
if (_hMouseHook == 0)
{
Stop();
throw new Exception("SetWindowsHookEx failed.");
}
}
/// <summary>
/// 停止全局钩子
/// </summary>
/// <exception cref="System.Exception">UnhookWindowsHookEx failed.</exception>
/// <exception cref="Exception">UnhookWindowsHookEx failed.</exception>
public static void Stop()
{
bool retMouse = true;
if (_hMouseHook != 0)
{
retMouse = UnhookWindowsHookEx(_hMouseHook);
_hMouseHook = 0;
}
// 假设卸下钩子失败
if (!(retMouse))
throw new Exception("UnhookWindowsHookEx failed.");
}
/// <summary>
/// 鼠标钩子回调函数
/// </summary>
/// <param name="nCode">The n code.</param>
/// <param name="wParam">The w parameter.</param>
/// <param name="lParam">The l parameter.</param>
/// <returns>System.Int32.</returns>
private static int MouseHookProc(int nCode, Int32 wParam, IntPtr lParam)
static void WindowsHook_HookMsgChanged(string strHookName, int nCode, IntPtr msg, IntPtr lParam)
{
// 假设正常执行而且用户要监听鼠标的消息
if ((nCode >= 0) && (OnMouseActivity != null))
if (nCode >= 0 && OnMouseActivity != null)
{
MouseButtons button = MouseButtons.None;
int clickCount = 0;
switch (wParam)
switch ((int)msg)
{
case WM_LBUTTONDOWN:
button = MouseButtons.Left;
......@@ -266,10 +186,28 @@ namespace HZH_Controls
OnMouseActivity(null, e);
}
}
}
// 启动下一次钩子
int inext = CallNextHookEx(_hMouseHook, nCode, wParam, lParam);
return inext;
/// <summary>
/// 停止全局钩子
/// </summary>
/// <exception cref="System.Exception">UnhookWindowsHookEx failed.</exception>
/// <exception cref="Exception">UnhookWindowsHookEx failed.</exception>
public static void Stop()
{
bool retMouse = true;
if (_hMouseHook != 0)
{
retMouse = WindowsHook.StopHook(_hMouseHook);
_hMouseHook = 0;
}
// 假设卸下钩子失败
if (!(retMouse))
throw new Exception("UnhookWindowsHookEx failed.");
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
namespace HZH_Controls
{
/// <summary>
/// 钩子类型
/// </summary>
public enum HookType : int
{
/// <summary>
/// 安装一个钩子过程,该过程监视由于对话框,消息框,菜单或滚动条中的输入事件而生成的消息。
/// 有关更多信息,请参阅MessageProc(https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ms644987(v=vs.85))挂接过程。
/// </summary>
WH_MSGFILTER = -1,
/// <summary>
/// 安装一个钩子过程,记录发布到系统消息队列的输入消息。 此挂钩对于录制宏非常有用。
/// 有关更多信息,请参阅JournalRecordProc(https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ms644983(v=vs.85))挂钩过程。
/// </summary>
WH_JOURNALRECORD = 0,
/// <summary>
/// 安装一个挂钩过程,该过程发布先前由WH_JOURNALRECORD挂钩过程记录的消息。
/// 有关更多信息,请参阅JournalPlaybackProc(https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ms644982(v=vs.85))挂钩过程。
/// </summary>
WH_JOURNALPLAYBACK = 1,
/// <summary>
/// 安装一个监视击键消息的钩子程序。
/// 有关更多信息,请参阅KeyboardProc(https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ms644984(v=vs.85))挂钩过程。
/// </summary>
WH_KEYBOARD = 2,
/// <summary>
/// 安装一个钩子过程来监视发布到消息队列的消息。
/// 有关更多信息,请参阅GetMsgProc(https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ms644981(v=vs.85))挂接过程。
/// </summary>
WH_GETMESSAGE = 3,
/// <summary>
/// 安装一个钩子过程,在系统将消息发送到目标窗口过程之前监视消息。
/// 有关更多信息,请参阅CallWndProc(https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ms644975(v=vs.85))挂接过程。
/// </summary>
WH_CALLWNDPROC = 4,
/// <summary>
/// 安装一个钩子程序,接收对CBT应用程序有用的通知。
/// 有关更多信息,请参阅CBTProc(https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ms644977(v=vs.85))挂钩过程。
/// </summary>
WH_CBT = 5,
/// <summary>
/// 安装一个钩子过程,该过程监视由于对话框,消息框,菜单或滚动条中的输入事件而生成的消息。
/// 钩子过程监视与调用线程在同一桌面中的所有应用程序的这些消息。
/// 有关更多信息,请参阅SysMsgProc(https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ms644992(v=vs.85))挂接过程。
/// </summary>
WH_SYSMSGFILTER = 6,
/// <summary>
/// 安装监视鼠标消息的钩子过程。
/// 有关更多信息,请参阅MouseProc(https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ms644988(v=vs.85))挂钩过程。
/// </summary>
WH_MOUSE = 7,
/// <summary>
/// 安装一个用于调试其他钩子过程的钩子过程。
/// 有关更多信息,请参阅DebugProc(https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ms644978(v=vs.85))挂接过程。
/// </summary>
WH_DEBUG = 9,
/// <summary>
/// 安装一个钩子过程,接收对shell应用程序有用的通知。
/// 有关更多信息,请参阅ShellProc(https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ms644991(v=vs.85))挂钩过程。
/// </summary>
WH_SHELL = 10,
/// <summary>
/// 安装一个钩子过程,当应用程序的前台线程即将变为空闲时将调用该过程。
/// 此挂钩对于在空闲时执行低优先级任务非常有用。
/// 有关更多信息,请参阅ForegroundIdleProc(https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ms644980(v=vs.85))挂钩过程。
/// </summary>
WH_FOREGROUNDIDLE = 11,
/// <summary>
/// 安装一个钩子过程,该过程在目标窗口过程处理完消息后对其进行监视。
/// 有关更多信息,请参阅CallWndRetProc(https://docs.microsoft.com/windows/desktop/api/winuser/nc-winuser-hookproc)挂接过程。
/// </summary>
WH_CALLWNDPROCRET = 12,
/// <summary>
/// 安装一个监视低级键盘输入事件的钩子过程。 有关更多信息,
/// 请参阅LowLevelKeyboardProc(https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ms644985(v=vs.85))挂接过程。
/// </summary>
WH_KEYBOARD_LL = 13,
/// <summary>
/// 安装一个监视低级鼠标输入事件的钩子过程。 有关更多信息,
/// 请参阅LowLevelMouseProc(https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ms644986(v=vs.85))挂接过程。
/// </summary>
WH_MOUSE_LL = 14,
}
public class WindowsHook
{
public delegate int HookProc(int nCode, IntPtr wParam, IntPtr lParam);
// 装置钩子的函数
[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
public static extern int SetWindowsHookEx(int idHook, HookProc lpfn, int hInstance, int threadId);
// 卸下钩子的函数
[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
public static extern bool UnhookWindowsHookEx(int idHook);
// 下一个钩挂的函数
[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
public static extern int CallNextHookEx(int idHook, int nCode, IntPtr wParam, IntPtr lParam);
[DllImport("User32.dll", CharSet = CharSet.Auto)]
public static extern int GetClassName(IntPtr hWnd, StringBuilder lpClassName, int nMaxCount);
/// <summary>
/// Delegate HookMsgHandler
/// </summary>
/// <param name="strHookName">钩子名称</param>
/// <param name="msg">消息值</param>
public delegate void HookMsgHandler(string strHookName, int nCode, IntPtr msg, IntPtr lParam);
/// <summary>
/// 钩子消息事件
/// </summary>
public static event HookMsgHandler HookMsgChanged;
/// <summary>
/// 启动一个钩子
/// </summary>
/// <param name="hookType">钩子类型</param>
/// <param name="wParam">模块句柄,为空则为当前模块</param>
/// <param name="pid">进程句柄,默认为0则表示当前进程</param>
/// <param name="strHookName">钩子名称</param>
/// <returns>钩子句柄(消耗钩子时需要使用)</returns>
/// <exception cref="Exception">SetWindowsHookEx failed.</exception>
public static int StartHook(HookType hookType, int wParam = 0, int pid = 0, string strHookName = "")
{
int _hHook = 0;
// 生成一个HookProc的实例.
var _hookProcedure = new HookProc((nCode, msg, lParam) =>
{
if (HookMsgChanged != null)
{
try
{
HookMsgChanged(strHookName, nCode, msg, lParam);
}
catch { }
}
int inext = CallNextHookEx(_hHook, nCode, msg, lParam);
return inext;
});
if (pid ==0)
pid = AppDomain.GetCurrentThreadId();
_hHook = SetWindowsHookEx((int)hookType, _hookProcedure, wParam, pid);
//假设装置失败停止钩子
if (_hHook == 0)
{
StopHook(_hHook);
}
return _hHook;
}
/// <summary>
/// 停止钩子
/// </summary>
/// <param name="_hHook">StartHook函数返回的钩子句柄</param>
/// <returns><c>true</c> if 停止成功, <c>false</c> 否则.</returns>
public static bool StopHook(int _hHook)
{
bool ret = true;
if (_hHook != 0)
{
ret = UnhookWindowsHookEx(_hHook);
}
// 假设卸下钩子失败
if (!ret)
return false;
return true;
}
}
}
......@@ -7,6 +7,7 @@ namespace Test
{
static class Program
{
static int hookID;
/// <summary>
/// 应用程序的主入口点。
/// </summary>
......@@ -16,10 +17,12 @@ namespace Test
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.ThreadException += Application_ThreadException;
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
Application.Run(new FrmMain());
}
static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
{
MessageBox.Show(e.Exception.Message);
......@@ -27,8 +30,8 @@ namespace Test
static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
MessageBox.Show(((Exception)e.ExceptionObject).Message);
MessageBox.Show(((Exception)e.ExceptionObject).Message);
}
}
}
......@@ -2016,7 +2016,7 @@
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.groupBox1);
this.Name = "UCTestBtns";
this.Size = new System.Drawing.Size(631, 793);
this.Size = new System.Drawing.Size(635, 793);
this.Load += new System.EventHandler(this.UCTestBtns_Load);
this.ucControlBase1.ResumeLayout(false);
this.groupBox1.ResumeLayout(false);
......
......@@ -131,7 +131,7 @@
<data name="ucBtnImg16.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAEYSURBVFhH7ZbREYIwEET5twEbsAEaoAIrsAM6oAVboAab
YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAAEYSURBVFhH7ZbREYIwEET5twEbsAEaoAIrsAM6oAVboAab
oAuaQXd1M4OMIMkd6EfezA0gt3uXhAhFJmNlGIYacdLlvrD4HeDY66d9QMGjRt6zAYLzFodKKdsxLTwF
9zrEUem+wLhRnUXYhCR+cFSI2ZFPQW4rqQ80lPcq2CybltwOzDp5x1BKbucfGli9/iP8tmVKA9A0ktuA
UdQOCEBzlYUNeFUvyzjQgM//AUcizyg4a7KwkTL9AWhr2aRBA3klAX36MkB/sIw+AI+03cDu5WEGXhfZ
......@@ -142,7 +142,7 @@
<data name="ucBtnImg16.ImageFontIcons" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAEYSURBVFhH7ZbREYIwEET5twEbsAEaoAIrsAM6oAVboAab
YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAAEYSURBVFhH7ZbREYIwEET5twEbsAEaoAIrsAM6oAVboAab
oAuaQXd1M4OMIMkd6EfezA0gt3uXhAhFJmNlGIYacdLlvrD4HeDY66d9QMGjRt6zAYLzFodKKdsxLTwF
9zrEUem+wLhRnUXYhCR+cFSI2ZFPQW4rqQ80lPcq2CybltwOzDp5x1BKbucfGli9/iP8tmVKA9A0ktuA
UdQOCEBzlYUNeFUvyzjQgM//AUcizyg4a7KwkTL9AWhr2aRBA3klAX36MkB/sIw+AI+03cDu5WEGXhfZ
......@@ -153,7 +153,7 @@
<data name="ucBtnImg11.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAFCSURBVFhH7Zb9DYIwEMX53wVcgAVYwAmYgA3cwBVYgRlY
YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAAFCSURBVFhH7Zb9DYIwEMX53wVcgAVYwAmYgA3cwBVYgRlY
gi1YBnyvvppiClIoRk1/yaWl3BfHFZolfo5xHE+azrJGZzPDMOSQUpdecP+m6TEwAJ6y4AjpJA2kkpyl
Gh86h7RIwAvu9ZCr1OMC/3zq/hHKj72PsZFZPOC0k3OWvubchcEhrJBNIl4l4Izv3aBA3kpg3SRJqCPz
/biOA7nIxT7sU2+QbVsShtzv3F6trs17DxVWACO3Jn3VxvkaoPzcapgz+GL3z8Ggri3muUIsA0W3mSZO
......@@ -165,7 +165,7 @@
<data name="ucBtnImg11.ImageFontIcons" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAFCSURBVFhH7Zb9DYIwEMX53wVcgAVYwAmYgA3cwBVYgRlY
YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAAFCSURBVFhH7Zb9DYIwEMX53wVcgAVYwAmYgA3cwBVYgRlY
gi1YBnyvvppiClIoRk1/yaWl3BfHFZolfo5xHE+azrJGZzPDMOSQUpdecP+m6TEwAJ6y4AjpJA2kkpyl
Gh86h7RIwAvu9ZCr1OMC/3zq/hHKj72PsZFZPOC0k3OWvubchcEhrJBNIl4l4Izv3aBA3kpg3SRJqCPz
/biOA7nIxT7sU2+QbVsShtzv3F6trs17DxVWACO3Jn3VxvkaoPzcapgz+GL3z8Ggri3muUIsA0W3mSZO
......@@ -177,7 +177,7 @@
<data name="ucBtnImg6.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAFDSURBVFhH7ZfRjcIwEERTRhqggWsgFaSCdHAdpIW0cDXQ
YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAAFDSURBVFhH7ZfRjcIwEERTRhqggWsgFaSCdHAdpIW0cDXQ
RLqgmeTekAEFEFLstfyBeNIKbDyza2Ni03wky7K0fluXdV07kp+JC3Fydx1IOFDAFRXg7jqQsFVS51cB
Z39UBxL+Ofd19kT15d/PfnB3eTQzcvw8z1AFEDPRE63G3MJDYth4xvAObSXVjv+lqd0/aoz6txEbamuM
rdJBfP9+I8jHlsdB1FsfBq/ZtseRyPoQWcnRdZu8CJ1tj0PVo8UhsmYvCi7/aMs0PqmAyZZpICz1+887
......@@ -189,7 +189,7 @@
<data name="ucBtnImg6.ImageFontIcons" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAFDSURBVFhH7ZfRjcIwEERTRhqggWsgFaSCdHAdpIW0cDXQ
YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAAFDSURBVFhH7ZfRjcIwEERTRhqggWsgFaSCdHAdpIW0cDXQ
RLqgmeTekAEFEFLstfyBeNIKbDyza2Ni03wky7K0fluXdV07kp+JC3Fydx1IOFDAFRXg7jqQsFVS51cB
Z39UBxL+Ofd19kT15d/PfnB3eTQzcvw8z1AFEDPRE63G3MJDYth4xvAObSXVjv+lqd0/aoz6txEbamuM
rdJBfP9+I8jHlsdB1FsfBq/ZtseRyPoQWcnRdZu8CJ1tj0PVo8UhsmYvCi7/aMs0PqmAyZZpICz1+887
......@@ -201,7 +201,7 @@
<data name="ucBtnImg15.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAEYSURBVFhH7ZbREYIwEET5twEbsAEaoAIrsAM6oAVboAab
YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAAEYSURBVFhH7ZbREYIwEET5twEbsAEaoAIrsAM6oAVboAab
oAuaQXd1M4OMIMkd6EfezA0gt3uXhAhFJmNlGIYacdLlvrD4HeDY66d9QMGjRt6zAYLzFodKKdsxLTwF
9zrEUem+wLhRnUXYhCR+cFSI2ZFPQW4rqQ80lPcq2CybltwOzDp5x1BKbucfGli9/iP8tmVKA9A0ktuA
UdQOCEBzlYUNeFUvyzjQgM//AUcizyg4a7KwkTL9AWhr2aRBA3klAX36MkB/sIw+AI+03cDu5WEGXhfZ
......@@ -212,7 +212,7 @@
<data name="ucBtnImg15.ImageFontIcons" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAEYSURBVFhH7ZbREYIwEET5twEbsAEaoAIrsAM6oAVboAab
YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAAEYSURBVFhH7ZbREYIwEET5twEbsAEaoAIrsAM6oAVboAab
oAuaQXd1M4OMIMkd6EfezA0gt3uXhAhFJmNlGIYacdLlvrD4HeDY66d9QMGjRt6zAYLzFodKKdsxLTwF
9zrEUem+wLhRnUXYhCR+cFSI2ZFPQW4rqQ80lPcq2CybltwOzDp5x1BKbucfGli9/iP8tmVKA9A0ktuA
UdQOCEBzlYUNeFUvyzjQgM//AUcizyg4a7KwkTL9AWhr2aRBA3klAX36MkB/sIw+AI+03cDu5WEGXhfZ
......@@ -223,7 +223,7 @@
<data name="ucBtnImg10.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAFCSURBVFhH7Zb9DYIwEMX53wVcgAVYwAmYgA3cwBVYgRlY
YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAAFCSURBVFhH7Zb9DYIwEMX53wVcgAVYwAmYgA3cwBVYgRlY
gi1YBnyvvppiClIoRk1/yaWl3BfHFZolfo5xHE+azrJGZzPDMOSQUpdecP+m6TEwAJ6y4AjpJA2kkpyl
Gh86h7RIwAvu9ZCr1OMC/3zq/hHKj72PsZFZPOC0k3OWvubchcEhrJBNIl4l4Izv3aBA3kpg3SRJqCPz
/biOA7nIxT7sU2+QbVsShtzv3F6trs17DxVWACO3Jn3VxvkaoPzcapgz+GL3z8Ggri3muUIsA0W3mSZO
......@@ -235,7 +235,7 @@
<data name="ucBtnImg10.ImageFontIcons" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAFCSURBVFhH7Zb9DYIwEMX53wVcgAVYwAmYgA3cwBVYgRlY
YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAAFCSURBVFhH7Zb9DYIwEMX53wVcgAVYwAmYgA3cwBVYgRlY
gi1YBnyvvppiClIoRk1/yaWl3BfHFZolfo5xHE+azrJGZzPDMOSQUpdecP+m6TEwAJ6y4AjpJA2kkpyl
Gh86h7RIwAvu9ZCr1OMC/3zq/hHKj72PsZFZPOC0k3OWvubchcEhrJBNIl4l4Izv3aBA3kpg3SRJqCPz
/biOA7nIxT7sU2+QbVsShtzv3F6trs17DxVWACO3Jn3VxvkaoPzcapgz+GL3z8Ggri3muUIsA0W3mSZO
......@@ -247,7 +247,7 @@
<data name="ucBtnImg14.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAEYSURBVFhH7ZbREYIwEET5twEbsAEaoAIrsAM6oAVboAab
YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAAEYSURBVFhH7ZbREYIwEET5twEbsAEaoAIrsAM6oAVboAab
oAuaQXd1M4OMIMkd6EfezA0gt3uXhAhFJmNlGIYacdLlvrD4HeDY66d9QMGjRt6zAYLzFodKKdsxLTwF
9zrEUem+wLhRnUXYhCR+cFSI2ZFPQW4rqQ80lPcq2CybltwOzDp5x1BKbucfGli9/iP8tmVKA9A0ktuA
UdQOCEBzlYUNeFUvyzjQgM//AUcizyg4a7KwkTL9AWhr2aRBA3klAX36MkB/sIw+AI+03cDu5WEGXhfZ
......@@ -258,7 +258,7 @@
<data name="ucBtnImg14.ImageFontIcons" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAEYSURBVFhH7ZbREYIwEET5twEbsAEaoAIrsAM6oAVboAab
YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAAEYSURBVFhH7ZbREYIwEET5twEbsAEaoAIrsAM6oAVboAab
oAuaQXd1M4OMIMkd6EfezA0gt3uXhAhFJmNlGIYacdLlvrD4HeDY66d9QMGjRt6zAYLzFodKKdsxLTwF
9zrEUem+wLhRnUXYhCR+cFSI2ZFPQW4rqQ80lPcq2CybltwOzDp5x1BKbucfGli9/iP8tmVKA9A0ktuA
UdQOCEBzlYUNeFUvyzjQgM//AUcizyg4a7KwkTL9AWhr2aRBA3klAX36MkB/sIw+AI+03cDu5WEGXhfZ
......@@ -269,7 +269,7 @@
<data name="ucBtnImg9.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAFCSURBVFhH7Zb9DYIwEMX53wVcgAVYwAmYgA3cwBVYgRlY
YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAAFCSURBVFhH7Zb9DYIwEMX53wVcgAVYwAmYgA3cwBVYgRlY
gi1YBnyvvppiClIoRk1/yaWl3BfHFZolfo5xHE+azrJGZzPDMOSQUpdecP+m6TEwAJ6y4AjpJA2kkpyl
Gh86h7RIwAvu9ZCr1OMC/3zq/hHKj72PsZFZPOC0k3OWvubchcEhrJBNIl4l4Izv3aBA3kpg3SRJqCPz
/biOA7nIxT7sU2+QbVsShtzv3F6trs17DxVWACO3Jn3VxvkaoPzcapgz+GL3z8Ggri3muUIsA0W3mSZO
......@@ -281,7 +281,7 @@
<data name="ucBtnImg9.ImageFontIcons" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAFCSURBVFhH7Zb9DYIwEMX53wVcgAVYwAmYgA3cwBVYgRlY
YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAAFCSURBVFhH7Zb9DYIwEMX53wVcgAVYwAmYgA3cwBVYgRlY
gi1YBnyvvppiClIoRk1/yaWl3BfHFZolfo5xHE+azrJGZzPDMOSQUpdecP+m6TEwAJ6y4AjpJA2kkpyl
Gh86h7RIwAvu9ZCr1OMC/3zq/hHKj72PsZFZPOC0k3OWvubchcEhrJBNIl4l4Izv3aBA3kpg3SRJqCPz
/biOA7nIxT7sU2+QbVsShtzv3F6trs17DxVWACO3Jn3VxvkaoPzcapgz+GL3z8Ggri3muUIsA0W3mSZO
......@@ -293,7 +293,7 @@
<data name="ucBtnImg5.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAFDSURBVFhH7ZfRjcIwEERTRhqggWsgFaSCdHAdpIW0cDXQ
YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAAFDSURBVFhH7ZfRjcIwEERTRhqggWsgFaSCdHAdpIW0cDXQ
RLqgmeTekAEFEFLstfyBeNIKbDyza2Ni03wky7K0fluXdV07kp+JC3Fydx1IOFDAFRXg7jqQsFVS51cB
Z39UBxL+Ofd19kT15d/PfnB3eTQzcvw8z1AFEDPRE63G3MJDYth4xvAObSXVjv+lqd0/aoz6txEbamuM
rdJBfP9+I8jHlsdB1FsfBq/ZtseRyPoQWcnRdZu8CJ1tj0PVo8UhsmYvCi7/aMs0PqmAyZZpICz1+887
......@@ -305,7 +305,7 @@
<data name="ucBtnImg5.ImageFontIcons" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAFDSURBVFhH7ZfRjcIwEERTRhqggWsgFaSCdHAdpIW0cDXQ
YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAAFDSURBVFhH7ZfRjcIwEERTRhqggWsgFaSCdHAdpIW0cDXQ
RLqgmeTekAEFEFLstfyBeNIKbDyza2Ni03wky7K0fluXdV07kp+JC3Fydx1IOFDAFRXg7jqQsFVS51cB
Z39UBxL+Ofd19kT15d/PfnB3eTQzcvw8z1AFEDPRE63G3MJDYth4xvAObSXVjv+lqd0/aoz6txEbamuM
rdJBfP9+I8jHlsdB1FsfBq/ZtseRyPoQWcnRdZu8CJ1tj0PVo8UhsmYvCi7/aMs0PqmAyZZpICz1+887
......@@ -317,7 +317,7 @@
<data name="ucBtnImg13.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAEYSURBVFhH7ZbREYIwEET5twEbsAEaoAIrsAM6oAVboAab
YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAAEYSURBVFhH7ZbREYIwEET5twEbsAEaoAIrsAM6oAVboAab
oAuaQXd1M4OMIMkd6EfezA0gt3uXhAhFJmNlGIYacdLlvrD4HeDY66d9QMGjRt6zAYLzFodKKdsxLTwF
9zrEUem+wLhRnUXYhCR+cFSI2ZFPQW4rqQ80lPcq2CybltwOzDp5x1BKbucfGli9/iP8tmVKA9A0ktuA
UdQOCEBzlYUNeFUvyzjQgM//AUcizyg4a7KwkTL9AWhr2aRBA3klAX36MkB/sIw+AI+03cDu5WEGXhfZ
......@@ -328,7 +328,7 @@
<data name="ucBtnImg13.ImageFontIcons" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAEYSURBVFhH7ZbREYIwEET5twEbsAEaoAIrsAM6oAVboAab
YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAAEYSURBVFhH7ZbREYIwEET5twEbsAEaoAIrsAM6oAVboAab
oAuaQXd1M4OMIMkd6EfezA0gt3uXhAhFJmNlGIYacdLlvrD4HeDY66d9QMGjRt6zAYLzFodKKdsxLTwF
9zrEUem+wLhRnUXYhCR+cFSI2ZFPQW4rqQ80lPcq2CybltwOzDp5x1BKbucfGli9/iP8tmVKA9A0ktuA
UdQOCEBzlYUNeFUvyzjQgM//AUcizyg4a7KwkTL9AWhr2aRBA3klAX36MkB/sIw+AI+03cDu5WEGXhfZ
......@@ -339,7 +339,7 @@
<data name="ucBtnImg8.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAFCSURBVFhH7Zb9DYIwEMX53wVcgAVYwAmYgA3cwBVYgRlY
YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAAFCSURBVFhH7Zb9DYIwEMX53wVcgAVYwAmYgA3cwBVYgRlY
gi1YBnyvvppiClIoRk1/yaWl3BfHFZolfo5xHE+azrJGZzPDMOSQUpdecP+m6TEwAJ6y4AjpJA2kkpyl
Gh86h7RIwAvu9ZCr1OMC/3zq/hHKj72PsZFZPOC0k3OWvubchcEhrJBNIl4l4Izv3aBA3kpg3SRJqCPz
/biOA7nIxT7sU2+QbVsShtzv3F6trs17DxVWACO3Jn3VxvkaoPzcapgz+GL3z8Ggri3muUIsA0W3mSZO
......@@ -351,7 +351,7 @@
<data name="ucBtnImg8.ImageFontIcons" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAFCSURBVFhH7Zb9DYIwEMX53wVcgAVYwAmYgA3cwBVYgRlY
YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAAFCSURBVFhH7Zb9DYIwEMX53wVcgAVYwAmYgA3cwBVYgRlY
gi1YBnyvvppiClIoRk1/yaWl3BfHFZolfo5xHE+azrJGZzPDMOSQUpdecP+m6TEwAJ6y4AjpJA2kkpyl
Gh86h7RIwAvu9ZCr1OMC/3zq/hHKj72PsZFZPOC0k3OWvubchcEhrJBNIl4l4Izv3aBA3kpg3SRJqCPz
/biOA7nIxT7sU2+QbVsShtzv3F6trs17DxVWACO3Jn3VxvkaoPzcapgz+GL3z8Ggri3muUIsA0W3mSZO
......@@ -363,7 +363,7 @@
<data name="ucBtnImg12.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAEjSURBVFhH7ZbPDcIgGMV7dwEXMPFaqmcn8GCEeHADN3AF
YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAAEjSURBVFhH7ZbPDcIgGMV7dwEXMPFaqmcn8GCEeHADN3AF
V+gMLuEWLgPy6FdjCJXyp+2FX/IONfC9B1+hVoVCKlKwm7zsN/Q4LzBXolFSNG/6aR7kqV6blWtjBDAh
OGvVuTnQkOmwjW3pIC8EpOF50eZ3l6kthKAp+ei2fXjlttASmpoH02OH0ZAQNmsrsK0uo/9ijKans3yA
gP5/lfNYxgTAqaHpaYSegF6SNw8qkQa20mXgU7b7ACtxGfiEXaMSaUS9gCRc3VQmDhRwFR6rpDYovl2l
......@@ -374,7 +374,7 @@
<data name="ucBtnImg12.ImageFontIcons" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAEjSURBVFhH7ZbPDcIgGMV7dwEXMPFaqmcn8GCEeHADN3AF
YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAAEjSURBVFhH7ZbPDcIgGMV7dwEXMPFaqmcn8GCEeHADN3AF
V+gMLuEWLgPy6FdjCJXyp+2FX/IONfC9B1+hVoVCKlKwm7zsN/Q4LzBXolFSNG/6aR7kqV6blWtjBDAh
OGvVuTnQkOmwjW3pIC8EpOF50eZ3l6kthKAp+ei2fXjlttASmpoH02OH0ZAQNmsrsK0uo/9ijKans3yA
gP5/lfNYxgTAqaHpaYSegF6SNw8qkQa20mXgU7b7ACtxGfiEXaMSaUS9gCRc3VQmDhRwFR6rpDYovl2l
......@@ -385,7 +385,7 @@
<data name="ucBtnImg4.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAFDSURBVFhH7ZfRjcIwEERTRhqggWsgFaSCdHAdpIW0cDXQ
YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAAFDSURBVFhH7ZfRjcIwEERTRhqggWsgFaSCdHAdpIW0cDXQ
RLqgmeTekAEFEFLstfyBeNIKbDyza2Ni03wky7K0fluXdV07kp+JC3Fydx1IOFDAFRXg7jqQsFVS51cB
Z39UBxL+Ofd19kT15d/PfnB3eTQzcvw8z1AFEDPRE63G3MJDYth4xvAObSXVjv+lqd0/aoz6txEbamuM
rdJBfP9+I8jHlsdB1FsfBq/ZtseRyPoQWcnRdZu8CJ1tj0PVo8UhsmYvCi7/aMs0PqmAyZZpICz1+887
......@@ -397,7 +397,7 @@
<data name="ucBtnImg4.ImageFontIcons" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAFDSURBVFhH7ZfRjcIwEERTRhqggWsgFaSCdHAdpIW0cDXQ
YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAAFDSURBVFhH7ZfRjcIwEERTRhqggWsgFaSCdHAdpIW0cDXQ
RLqgmeTekAEFEFLstfyBeNIKbDyza2Ni03wky7K0fluXdV07kp+JC3Fydx1IOFDAFRXg7jqQsFVS51cB
Z39UBxL+Ofd19kT15d/PfnB3eTQzcvw8z1AFEDPRE63G3MJDYth4xvAObSXVjv+lqd0/aoz6txEbamuM
rdJBfP9+I8jHlsdB1FsfBq/ZtseRyPoQWcnRdZu8CJ1tj0PVo8UhsmYvCi7/aMs0PqmAyZZpICz1+887
......@@ -409,7 +409,7 @@
<data name="ucBtnImg7.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAFPSURBVFhH7VbdDYIwEObdBVzAxFdafXYCH4w0PrCBG7gC
YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAAFPSURBVFhH7VbdDYIwEObdBVzAxFdafXYCH4w0PrCBG7gC
KzADS7iFyxTvrwYQCIVi1PAlF0q53n13vSuNFvwcymS7kmEnhuiMhr3sNzbZHeW1FdaomwznAToojVL4
tIm6i+TWxCnJKV6LanigcZvoojS6bBNr9AOIXUU9LDhq/Whz7MR9x4zIsnDAVLMTTL3Oqo55HqLHDDkS
ITPB+15x1JEJR5LGoCPLp6Nq2EvO+iAmpsFF7S8jW5L7HdtLF/Qu++4rmAFqTbaVkfEhAOVXq5FziKaW
......@@ -421,7 +421,7 @@
<data name="ucBtnImg7.ImageFontIcons" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAFPSURBVFhH7VbdDYIwEObdBVzAxFdafXYCH4w0PrCBG7gC
YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAAFPSURBVFhH7VbdDYIwEObdBVzAxFdafXYCH4w0PrCBG7gC
KzADS7iFyxTvrwYQCIVi1PAlF0q53n13vSuNFvwcymS7kmEnhuiMhr3sNzbZHeW1FdaomwznAToojVL4
tIm6i+TWxCnJKV6LanigcZvoojS6bBNr9AOIXUU9LDhq/Whz7MR9x4zIsnDAVLMTTL3Oqo55HqLHDDkS
ITPB+15x1JEJR5LGoCPLp6Nq2EvO+iAmpsFF7S8jW5L7HdtLF/Qu++4rmAFqTbaVkfEhAOVXq5FziKaW
......@@ -433,7 +433,7 @@
<data name="ucBtnImg3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAFDSURBVFhH7ZfRjcIwEERTRhqggWsgFaSCdHAdpIW0cDXQ
YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAAFDSURBVFhH7ZfRjcIwEERTRhqggWsgFaSCdHAdpIW0cDXQ
RLqgmeTekAEFEFLstfyBeNIKbDyza2Ni03wky7K0fluXdV07kp+JC3Fydx1IOFDAFRXg7jqQsFVS51cB
Z39UBxL+Ofd19kT15d/PfnB3eTQzcvw8z1AFEDPRE63G3MJDYth4xvAObSXVjv+lqd0/aoz6txEbamuM
rdJBfP9+I8jHlsdB1FsfBq/ZtseRyPoQWcnRdZu8CJ1tj0PVo8UhsmYvCi7/aMs0PqmAyZZpICz1+887
......@@ -445,7 +445,7 @@
<data name="ucBtnImg3.ImageFontIcons" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAFDSURBVFhH7ZfRjcIwEERTRhqggWsgFaSCdHAdpIW0cDXQ
YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAAFDSURBVFhH7ZfRjcIwEERTRhqggWsgFaSCdHAdpIW0cDXQ
RLqgmeTekAEFEFLstfyBeNIKbDyza2Ni03wky7K0fluXdV07kp+JC3Fydx1IOFDAFRXg7jqQsFVS51cB
Z39UBxL+Ofd19kT15d/PfnB3eTQzcvw8z1AFEDPRE63G3MJDYth4xvAObSXVjv+lqd0/aoz6txEbamuM
rdJBfP9+I8jHlsdB1FsfBq/ZtseRyPoQWcnRdZu8CJ1tj0PVo8UhsmYvCi7/aMs0PqmAyZZpICz1+887
......@@ -457,7 +457,7 @@
<data name="ucBtnImg2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAAFLSURBVFhH7VfRaQMxDL0xukAHiJ1+d4J8lNr0Ixt0g66Q
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAAFLSURBVFhH7VfRaQMxDL0xukAHiJ1+d4J8lNr0Ixt0g66Q
FTpDl+gWXcZXPZ1yGOPCSTJXCHnwIDjmWXpSZGe6SZSXw4N83Bfza3wuKX6VHH/K29OjLO+Dkg/nOccZ
RACyvA9gOQ5dAyAX5Kt9UFL4rLP/B/ur7KkUsjweyGzOIbQZctYpfJd0PKEc2HOlbPGBhemAa5ar1dzx
4Z27P4cPDqJyY91He0RKj7q+HkJHJLcDmffELIQ7Irsdre1Wmg5HXXtiJpKWyG4HmqorpqQpe2CY/ZSI
......@@ -469,7 +469,7 @@
<data name="ucBtnImg2.ImageFontIcons" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAAFLSURBVFhH7VfRaQMxDL0xukAHiJ1+d4J8lNr0Ixt0g66Q
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAAFLSURBVFhH7VfRaQMxDL0xukAHiJ1+d4J8lNr0Ixt0g66Q
FTpDl+gWXcZXPZ1yGOPCSTJXCHnwIDjmWXpSZGe6SZSXw4N83Bfza3wuKX6VHH/K29OjLO+Dkg/nOccZ
RACyvA9gOQ5dAyAX5Kt9UFL4rLP/B/ur7KkUsjweyGzOIbQZctYpfJd0PKEc2HOlbPGBhemAa5ar1dzx
4Z27P4cPDqJyY91He0RKj7q+HkJHJLcDmffELIQ7Irsdre1Wmg5HXXtiJpKWyG4HmqorpqQpe2CY/ZSI
......@@ -481,7 +481,7 @@
<data name="ucBtnImg21.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAABcSURBVFhH7dLBDYBACETRbcYCZGMnEg92YEt2Yxc2A0pC
YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAABcSURBVFhH7dLBDYBACETRbcYCZGMnEg92YEt2Yxc2A0pC
DUs2+e8EXGYONADA1EzlyrGGaX9tlyfX8VxFKBEoEUzX07X7X+DO0ziEl4SHfLqa8GDHtuQIALNq7QPU
SkBGN/v52QAAAABJRU5ErkJggg==
</value>
......@@ -489,7 +489,7 @@
<data name="ucBtnImg21.ImageFontIcons" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAABcSURBVFhH7dLBDYBACETRbcYCZGMnEg92YEt2Yxc2A0pC
YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAABcSURBVFhH7dLBDYBACETRbcYCZGMnEg92YEt2Yxc2A0pC
DUs2+e8EXGYONADA1EzlyrGGaX9tlyfX8VxFKBEoEUzX07X7X+DO0ziEl4SHfLqa8GDHtuQIALNq7QPU
SkBGN/v52QAAAABJRU5ErkJggg==
</value>
......@@ -497,7 +497,7 @@
<data name="ucBtnImg20.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAACmSURBVFhHYxgFo2AUjIJRMAoGPfgXYtz1L8TEF8olGQD1
YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAACmSURBVFhHYxgFo2AUjIJRMAoGPfgXYtz1L8TEF8olGQD1
r/0famQE5ZIG/oUYzf4favyfMgcYHfoXanyTZEfALQ81jIYKkQ1IdgQo2CGWG98Ea6YChpsXaCgBtQY3
APkariHUqJJiDI9Ko0NQKwgDuCOAmqFCZAFQsMNCEipEPECEhFEWVIhkQLblMADKAf/CTVWhXJIBJY4f
BaNgFIyCUUAHwMAAAEJ7pLguJwW2AAAAAElFTkSuQmCC
......@@ -506,7 +506,7 @@
<data name="ucBtnImg20.ImageFontIcons" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAACmSURBVFhHYxgFo2AUjIJRMAoGPfgXYtz1L8TEF8olGQD1
YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAACmSURBVFhHYxgFo2AUjIJRMAoGPfgXYtz1L8TEF8olGQD1
r/0famQE5ZIG/oUYzf4favyfMgcYHfoXanyTZEfALQ81jIYKkQ1IdgQo2CGWG98Ea6YChpsXaCgBtQY3
APkariHUqJJiDI9Ko0NQKwgDuCOAmqFCZAFQsMNCEipEPECEhFEWVIhkQLblMADKAf/CTVWhXJIBJY4f
BaNgFIyCUUAHwMAAAEJ7pLguJwW2AAAAAElFTkSuQmCC
......@@ -515,7 +515,7 @@
<data name="ucBtnImg22.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAABUSURBVFhH7c7hCYBQCEVhl2kBo02SdmjMtmgZCx+2glac
YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAABUSURBVFhH7c7hCYBQCEVhl2kBo02SdmjMtmgZCx+2glac
DwT1z70CAPgVN91zreerHjF51hrhNp+XqearDuEt4aG9QKDE41Ul8uzh2zLlCgBfIXID9bo/uLiREz0A
AAAASUVORK5CYII=
</value>
......@@ -523,7 +523,7 @@
<data name="ucBtnImg22.ImageFontIcons" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAABUSURBVFhH7c7hCYBQCEVhl2kBo02SdmjMtmgZCx+2glac
YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAABUSURBVFhH7c7hCYBQCEVhl2kBo02SdmjMtmgZCx+2glac
DwT1z70CAPgVN91zreerHjF51hrhNp+XqearDuEt4aG9QKDE41Ul8uzh2zLlCgBfIXID9bo/uLiREz0A
AAAASUVORK5CYII=
</value>
......@@ -531,7 +531,7 @@
<data name="ucBtnImg19.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAAEYSURBVFhH7ZbREYIwEET5twEbsAEaoAIrsAM6oAVboAab
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAAEYSURBVFhH7ZbREYIwEET5twEbsAEaoAIrsAM6oAVboAab
oAuaQXd1M4OMIMkd6EfezA0gt3uXhAhFJmNlGIYacdLlvrD4HeDY66d9QMGjRt6zAYLzFodKKdsxLTwF
9zrEUem+wLhRnUXYhCR+cFSI2ZFPQW4rqQ80lPcq2CybltwOzDp5x1BKbucfGli9/iP8tmVKA9A0ktuA
UdQOCEBzlYUNeFUvyzjQgM//AUcizyg4a7KwkTL9AWhr2aRBA3klAX36MkB/sIw+AI+03cDu5WEGXhfZ
......@@ -542,7 +542,7 @@
<data name="ucBtnImg19.ImageFontIcons" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAAEYSURBVFhH7ZbREYIwEET5twEbsAEaoAIrsAM6oAVboAab
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAAEYSURBVFhH7ZbREYIwEET5twEbsAEaoAIrsAM6oAVboAab
oAuaQXd1M4OMIMkd6EfezA0gt3uXhAhFJmNlGIYacdLlvrD4HeDY66d9QMGjRt6zAYLzFodKKdsxLTwF
9zrEUem+wLhRnUXYhCR+cFSI2ZFPQW4rqQ80lPcq2CybltwOzDp5x1BKbucfGli9/iP8tmVKA9A0ktuA
UdQOCEBzlYUNeFUvyzjQgM//AUcizyg4a7KwkTL9AWhr2aRBA3klAX36MkB/sIw+AI+03cDu5WEGXhfZ
......@@ -553,7 +553,7 @@
<data name="ucBtnImg18.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAAEYSURBVFhH7ZbREYIwEET5twEbsAEaoAIrsAM6oAVboAab
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAAEYSURBVFhH7ZbREYIwEET5twEbsAEaoAIrsAM6oAVboAab
oAuaQXd1M4OMIMkd6EfezA0gt3uXhAhFJmNlGIYacdLlvrD4HeDY66d9QMGjRt6zAYLzFodKKdsxLTwF
9zrEUem+wLhRnUXYhCR+cFSI2ZFPQW4rqQ80lPcq2CybltwOzDp5x1BKbucfGli9/iP8tmVKA9A0ktuA
UdQOCEBzlYUNeFUvyzjQgM//AUcizyg4a7KwkTL9AWhr2aRBA3klAX36MkB/sIw+AI+03cDu5WEGXhfZ
......@@ -564,7 +564,7 @@
<data name="ucBtnImg18.ImageFontIcons" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAAEYSURBVFhH7ZbREYIwEET5twEbsAEaoAIrsAM6oAVboAab
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAAEYSURBVFhH7ZbREYIwEET5twEbsAEaoAIrsAM6oAVboAab
oAuaQXd1M4OMIMkd6EfezA0gt3uXhAhFJmNlGIYacdLlvrD4HeDY66d9QMGjRt6zAYLzFodKKdsxLTwF
9zrEUem+wLhRnUXYhCR+cFSI2ZFPQW4rqQ80lPcq2CybltwOzDp5x1BKbucfGli9/iP8tmVKA9A0ktuA
UdQOCEBzlYUNeFUvyzjQgM//AUcizyg4a7KwkTL9AWhr2aRBA3klAX36MkB/sIw+AI+03cDu5WEGXhfZ
......@@ -575,7 +575,7 @@
<data name="ucBtnImg17.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAAEYSURBVFhH7ZbREYIwEET5twEbsAEaoAIrsAM6oAVboAab
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAAEYSURBVFhH7ZbREYIwEET5twEbsAEaoAIrsAM6oAVboAab
oAuaQXd1M4OMIMkd6EfezA0gt3uXhAhFJmNlGIYacdLlvrD4HeDY66d9QMGjRt6zAYLzFodKKdsxLTwF
9zrEUem+wLhRnUXYhCR+cFSI2ZFPQW4rqQ80lPcq2CybltwOzDp5x1BKbucfGli9/iP8tmVKA9A0ktuA
UdQOCEBzlYUNeFUvyzjQgM//AUcizyg4a7KwkTL9AWhr2aRBA3klAX36MkB/sIw+AI+03cDu5WEGXhfZ
......@@ -586,7 +586,7 @@
<data name="ucBtnImg17.ImageFontIcons" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsAAAA7AAWrWiQkAAAEYSURBVFhH7ZbREYIwEET5twEbsAEaoAIrsAM6oAVboAab
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAAEYSURBVFhH7ZbREYIwEET5twEbsAEaoAIrsAM6oAVboAab
oAuaQXd1M4OMIMkd6EfezA0gt3uXhAhFJmNlGIYacdLlvrD4HeDY66d9QMGjRt6zAYLzFodKKdsxLTwF
9zrEUem+wLhRnUXYhCR+cFSI2ZFPQW4rqQ80lPcq2CybltwOzDp5x1BKbucfGli9/iP8tmVKA9A0ktuA
UdQOCEBzlYUNeFUvyzjQgM//AUcizyg4a7KwkTL9AWhr2aRBA3klAX36MkB/sIw+AI+03cDu5WEGXhfZ
......
......@@ -29,71 +29,86 @@
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.Windows.Forms.TreeNode treeNode1 = new System.Windows.Forms.TreeNode("节点0");
System.Windows.Forms.TreeNode treeNode2 = new System.Windows.Forms.TreeNode("节点1");
System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("节点2");
System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("节点3");
System.Windows.Forms.TreeNode treeNode5 = new System.Windows.Forms.TreeNode("节点4");
System.Windows.Forms.TreeNode treeNode6 = new System.Windows.Forms.TreeNode("节点5");
System.Windows.Forms.TreeNode treeNode7 = new System.Windows.Forms.TreeNode("节点6");
System.Windows.Forms.TreeNode treeNode8 = new System.Windows.Forms.TreeNode("节点7");
System.Windows.Forms.TreeNode treeNode9 = new System.Windows.Forms.TreeNode("节点8");
System.Windows.Forms.TreeNode treeNode10 = new System.Windows.Forms.TreeNode("节点9");
System.Windows.Forms.TreeNode treeNode11 = new System.Windows.Forms.TreeNode("节点10");
System.Windows.Forms.TreeNode treeNode12 = new System.Windows.Forms.TreeNode("节点11");
System.Windows.Forms.TreeNode treeNode13 = new System.Windows.Forms.TreeNode("节点0", new System.Windows.Forms.TreeNode[] {
treeNode1,
treeNode2,
treeNode3,
treeNode4,
treeNode5,
treeNode6,
treeNode7,
treeNode8,
treeNode9,
treeNode10,
treeNode11,
treeNode12});
System.Windows.Forms.TreeNode treeNode14 = new System.Windows.Forms.TreeNode("节点1");
System.Windows.Forms.TreeNode treeNode15 = new System.Windows.Forms.TreeNode("节点2");
System.Windows.Forms.TreeNode treeNode16 = new System.Windows.Forms.TreeNode("节点3");
System.Windows.Forms.TreeNode treeNode17 = new System.Windows.Forms.TreeNode("节点4");
System.Windows.Forms.TreeNode treeNode18 = new System.Windows.Forms.TreeNode("节点5");
System.Windows.Forms.TreeNode treeNode19 = new System.Windows.Forms.TreeNode("节点6");
System.Windows.Forms.TreeNode treeNode20 = new System.Windows.Forms.TreeNode("节点7");
System.Windows.Forms.TreeNode treeNode21 = new System.Windows.Forms.TreeNode("节点8");
System.Windows.Forms.TreeNode treeNode22 = new System.Windows.Forms.TreeNode("节点9");
System.Windows.Forms.TreeNode treeNode23 = new System.Windows.Forms.TreeNode("节点10");
System.Windows.Forms.TreeNode treeNode24 = new System.Windows.Forms.TreeNode("节点11");
System.Windows.Forms.TreeNode treeNode25 = new System.Windows.Forms.TreeNode("节点12");
System.Windows.Forms.TreeNode treeNode26 = new System.Windows.Forms.TreeNode("节点13");
System.Windows.Forms.TreeNode treeNode27 = new System.Windows.Forms.TreeNode("节点14");
System.Windows.Forms.TreeNode treeNode28 = new System.Windows.Forms.TreeNode("节点15");
System.Windows.Forms.TreeNode treeNode29 = new System.Windows.Forms.TreeNode("节点16");
System.Windows.Forms.TreeNode treeNode30 = new System.Windows.Forms.TreeNode("节点17");
System.Windows.Forms.TreeNode treeNode31 = new System.Windows.Forms.TreeNode("节点18");
System.Windows.Forms.TreeNode treeNode32 = new System.Windows.Forms.TreeNode("节点19");
System.Windows.Forms.TreeNode treeNode33 = new System.Windows.Forms.TreeNode("节点20");
System.Windows.Forms.TreeNode treeNode34 = new System.Windows.Forms.TreeNode("节点21");
System.Windows.Forms.TreeNode treeNode35 = new System.Windows.Forms.TreeNode("节点22");
System.Windows.Forms.TreeNode treeNode36 = new System.Windows.Forms.TreeNode("节点23");
System.Windows.Forms.TreeNode treeNode37 = new System.Windows.Forms.TreeNode("节点24");
System.Windows.Forms.TreeNode treeNode38 = new System.Windows.Forms.TreeNode("节点25");
System.Windows.Forms.TreeNode treeNode39 = new System.Windows.Forms.TreeNode("节点26");
System.Windows.Forms.TreeNode treeNode40 = new System.Windows.Forms.TreeNode("节点27");
System.Windows.Forms.TreeNode treeNode41 = new System.Windows.Forms.TreeNode("节点28");
System.Windows.Forms.TreeNode treeNode42 = new System.Windows.Forms.TreeNode("节点29");
System.Windows.Forms.TreeNode treeNode43 = new System.Windows.Forms.TreeNode("节点30");
System.Windows.Forms.TreeNode treeNode44 = new System.Windows.Forms.TreeNode("节点31");
System.Windows.Forms.TreeNode treeNode45 = new System.Windows.Forms.TreeNode("节点32");
System.Windows.Forms.TreeNode treeNode46 = new System.Windows.Forms.TreeNode("节点33");
System.Windows.Forms.TreeNode treeNode47 = new System.Windows.Forms.TreeNode("节点34");
System.Windows.Forms.TreeNode treeNode48 = new System.Windows.Forms.TreeNode("节点0");
System.Windows.Forms.TreeNode treeNode49 = new System.Windows.Forms.TreeNode("节点1");
System.Windows.Forms.TreeNode treeNode50 = new System.Windows.Forms.TreeNode("节点2");
System.Windows.Forms.TreeNode treeNode51 = new System.Windows.Forms.TreeNode("节点3");
System.Windows.Forms.TreeNode treeNode52 = new System.Windows.Forms.TreeNode("节点4");
System.Windows.Forms.TreeNode treeNode53 = new System.Windows.Forms.TreeNode("节点5");
System.Windows.Forms.TreeNode treeNode54 = new System.Windows.Forms.TreeNode("节点6");
System.Windows.Forms.TreeNode treeNode55 = new System.Windows.Forms.TreeNode("节点7");
System.Windows.Forms.TreeNode treeNode56 = new System.Windows.Forms.TreeNode("节点8");
System.Windows.Forms.TreeNode treeNode57 = new System.Windows.Forms.TreeNode("节点9");
System.Windows.Forms.TreeNode treeNode58 = new System.Windows.Forms.TreeNode("节点10");
System.Windows.Forms.TreeNode treeNode59 = new System.Windows.Forms.TreeNode("节点11");
System.Windows.Forms.TreeNode treeNode60 = new System.Windows.Forms.TreeNode("节点0", new System.Windows.Forms.TreeNode[] {
treeNode48,
treeNode49,
treeNode50,
treeNode51,
treeNode52,
treeNode53,
treeNode54,
treeNode55,
treeNode56,
treeNode57,
treeNode58,
treeNode59});
System.Windows.Forms.TreeNode treeNode61 = new System.Windows.Forms.TreeNode("节点1");
System.Windows.Forms.TreeNode treeNode62 = new System.Windows.Forms.TreeNode("节点2");
System.Windows.Forms.TreeNode treeNode63 = new System.Windows.Forms.TreeNode("节点3");
System.Windows.Forms.TreeNode treeNode64 = new System.Windows.Forms.TreeNode("节点4");
System.Windows.Forms.TreeNode treeNode65 = new System.Windows.Forms.TreeNode("节点5");
System.Windows.Forms.TreeNode treeNode66 = new System.Windows.Forms.TreeNode("节点6");
System.Windows.Forms.TreeNode treeNode67 = new System.Windows.Forms.TreeNode("节点7");
System.Windows.Forms.TreeNode treeNode68 = new System.Windows.Forms.TreeNode("节点8");
System.Windows.Forms.TreeNode treeNode69 = new System.Windows.Forms.TreeNode("节点9");
System.Windows.Forms.TreeNode treeNode70 = new System.Windows.Forms.TreeNode("节点10");
System.Windows.Forms.TreeNode treeNode71 = new System.Windows.Forms.TreeNode("节点11");
System.Windows.Forms.TreeNode treeNode72 = new System.Windows.Forms.TreeNode("节点12");
System.Windows.Forms.TreeNode treeNode73 = new System.Windows.Forms.TreeNode("节点13");
System.Windows.Forms.TreeNode treeNode74 = new System.Windows.Forms.TreeNode("节点14");
System.Windows.Forms.TreeNode treeNode75 = new System.Windows.Forms.TreeNode("节点15");
System.Windows.Forms.TreeNode treeNode76 = new System.Windows.Forms.TreeNode("节点16");
System.Windows.Forms.TreeNode treeNode77 = new System.Windows.Forms.TreeNode("节点17");
System.Windows.Forms.TreeNode treeNode78 = new System.Windows.Forms.TreeNode("节点18");
System.Windows.Forms.TreeNode treeNode79 = new System.Windows.Forms.TreeNode("节点19");
System.Windows.Forms.TreeNode treeNode80 = new System.Windows.Forms.TreeNode("节点20");
System.Windows.Forms.TreeNode treeNode81 = new System.Windows.Forms.TreeNode("节点21");
System.Windows.Forms.TreeNode treeNode82 = new System.Windows.Forms.TreeNode("节点22");
System.Windows.Forms.TreeNode treeNode83 = new System.Windows.Forms.TreeNode("节点23");
System.Windows.Forms.TreeNode treeNode84 = new System.Windows.Forms.TreeNode("节点24");
System.Windows.Forms.TreeNode treeNode85 = new System.Windows.Forms.TreeNode("节点25");
System.Windows.Forms.TreeNode treeNode86 = new System.Windows.Forms.TreeNode("节点26");
System.Windows.Forms.TreeNode treeNode87 = new System.Windows.Forms.TreeNode("节点27");
System.Windows.Forms.TreeNode treeNode88 = new System.Windows.Forms.TreeNode("节点28");
System.Windows.Forms.TreeNode treeNode89 = new System.Windows.Forms.TreeNode("节点29");
System.Windows.Forms.TreeNode treeNode90 = new System.Windows.Forms.TreeNode("节点30");
System.Windows.Forms.TreeNode treeNode91 = new System.Windows.Forms.TreeNode("节点31");
System.Windows.Forms.TreeNode treeNode92 = new System.Windows.Forms.TreeNode("节点32");
System.Windows.Forms.TreeNode treeNode93 = new System.Windows.Forms.TreeNode("节点33");
System.Windows.Forms.TreeNode treeNode94 = new System.Windows.Forms.TreeNode("节点34");
this.panel1 = new System.Windows.Forms.Panel();
this.label1 = new System.Windows.Forms.Label();
this.treeView1 = new System.Windows.Forms.TreeView();
this.textBox1 = new System.Windows.Forms.TextBox();
this.panel2 = new System.Windows.Forms.Panel();
this.label2 = new System.Windows.Forms.Label();
this.uchScrollbar6 = new HZH_Controls.Controls.UCHScrollbar();
this.uchScrollbar4 = new HZH_Controls.Controls.UCHScrollbar();
this.uchScrollbar5 = new HZH_Controls.Controls.UCHScrollbar();
this.uchScrollbar3 = new HZH_Controls.Controls.UCHScrollbar();
this.uchScrollbar2 = new HZH_Controls.Controls.UCHScrollbar();
this.uchScrollbar1 = new HZH_Controls.Controls.UCHScrollbar();
this.ucvScrollbar6 = new HZH_Controls.Controls.UCVScrollbar();
this.ucvScrollbar5 = new HZH_Controls.Controls.UCVScrollbar();
this.ucvScrollbar4 = new HZH_Controls.Controls.UCVScrollbar();
this.ucvScrollbar3 = new HZH_Controls.Controls.UCVScrollbar();
this.ucvScrollbar2 = new HZH_Controls.Controls.UCVScrollbar();
this.ucvScrollbar1 = new HZH_Controls.Controls.UCVScrollbar();
this.scrollbarComponent1 = new HZH_Controls.Controls.ScrollBar.ScrollbarComponent(this.components);
this.panel1.SuspendLayout();
this.panel2.SuspendLayout();
this.SuspendLayout();
//
// panel1
......@@ -122,136 +137,136 @@
//
this.treeView1.Location = new System.Drawing.Point(309, 22);
this.treeView1.Name = "treeView1";
treeNode1.Name = "节点0";
treeNode1.Text = "节点0";
treeNode2.Name = "节点1";
treeNode2.Text = "节点1";
treeNode3.Name = "节点2";
treeNode3.Text = "节点2";
treeNode4.Name = "节点3";
treeNode4.Text = "节点3";
treeNode5.Name = "节点4";
treeNode5.Text = "节点4";
treeNode6.Name = "节点5";
treeNode6.Text = "节点5";
treeNode7.Name = "节点6";
treeNode7.Text = "节点6";
treeNode8.Name = "节点7";
treeNode8.Text = "节点7";
treeNode9.Name = "节点8";
treeNode9.Text = "节点8";
treeNode10.Name = "节点9";
treeNode10.Text = "节点9";
treeNode11.Name = "节点10";
treeNode11.Text = "节点10";
treeNode12.Name = "节点11";
treeNode12.Text = "节点11";
treeNode13.Name = "节点0";
treeNode13.Text = "节点0";
treeNode14.Name = "节点1";
treeNode14.Text = "节点1";
treeNode15.Name = "节点2";
treeNode15.Text = "节点2";
treeNode16.Name = "节点3";
treeNode16.Text = "节点3";
treeNode17.Name = "节点4";
treeNode17.Text = "节点4";
treeNode18.Name = "节点5";
treeNode18.Text = "节点5";
treeNode19.Name = "节点6";
treeNode19.Text = "节点6";
treeNode20.Name = "节点7";
treeNode20.Text = "节点7";
treeNode21.Name = "节点8";
treeNode21.Text = "节点8";
treeNode22.Name = "节点9";
treeNode22.Text = "节点9";
treeNode23.Name = "节点10";
treeNode23.Text = "节点10";
treeNode24.Name = "节点11";
treeNode24.Text = "节点11";
treeNode25.Name = "节点12";
treeNode25.Text = "节点12";
treeNode26.Name = "节点13";
treeNode26.Text = "节点13";
treeNode27.Name = "节点14";
treeNode27.Text = "节点14";
treeNode28.Name = "节点15";
treeNode28.Text = "节点15";
treeNode29.Name = "节点16";
treeNode29.Text = "节点16";
treeNode30.Name = "节点17";
treeNode30.Text = "节点17";
treeNode31.Name = "节点18";
treeNode31.Text = "节点18";
treeNode32.Name = "节点19";
treeNode32.Text = "节点19";
treeNode33.Name = "节点20";
treeNode33.Text = "节点20";
treeNode34.Name = "节点21";
treeNode34.Text = "节点21";
treeNode35.Name = "节点22";
treeNode35.Text = "节点22";
treeNode36.Name = "节点23";
treeNode36.Text = "节点23";
treeNode37.Name = "节点24";
treeNode37.Text = "节点24";
treeNode38.Name = "节点25";
treeNode38.Text = "节点25";
treeNode39.Name = "节点26";
treeNode39.Text = "节点26";
treeNode40.Name = "节点27";
treeNode40.Text = "节点27";
treeNode41.Name = "节点28";
treeNode41.Text = "节点28";
treeNode42.Name = "节点29";
treeNode42.Text = "节点29";
treeNode43.Name = "节点30";
treeNode43.Text = "节点30";
treeNode44.Name = "节点31";
treeNode44.Text = "节点31";
treeNode45.Name = "节点32";
treeNode45.Text = "节点32";
treeNode46.Name = "节点33";
treeNode46.Text = "节点33";
treeNode47.Name = "节点34";
treeNode47.Text = "节点34";
treeNode48.Name = "节点0";
treeNode48.Text = "节点0";
treeNode49.Name = "节点1";
treeNode49.Text = "节点1";
treeNode50.Name = "节点2";
treeNode50.Text = "节点2";
treeNode51.Name = "节点3";
treeNode51.Text = "节点3";
treeNode52.Name = "节点4";
treeNode52.Text = "节点4";
treeNode53.Name = "节点5";
treeNode53.Text = "节点5";
treeNode54.Name = "节点6";
treeNode54.Text = "节点6";
treeNode55.Name = "节点7";
treeNode55.Text = "节点7";
treeNode56.Name = "节点8";
treeNode56.Text = "节点8";
treeNode57.Name = "节点9";
treeNode57.Text = "节点9";
treeNode58.Name = "节点10";
treeNode58.Text = "节点10";
treeNode59.Name = "节点11";
treeNode59.Text = "节点11";
treeNode60.Name = "节点0";
treeNode60.Text = "节点0";
treeNode61.Name = "节点1";
treeNode61.Text = "节点1";
treeNode62.Name = "节点2";
treeNode62.Text = "节点2";
treeNode63.Name = "节点3";
treeNode63.Text = "节点3";
treeNode64.Name = "节点4";
treeNode64.Text = "节点4";
treeNode65.Name = "节点5";
treeNode65.Text = "节点5";
treeNode66.Name = "节点6";
treeNode66.Text = "节点6";
treeNode67.Name = "节点7";
treeNode67.Text = "节点7";
treeNode68.Name = "节点8";
treeNode68.Text = "节点8";
treeNode69.Name = "节点9";
treeNode69.Text = "节点9";
treeNode70.Name = "节点10";
treeNode70.Text = "节点10";
treeNode71.Name = "节点11";
treeNode71.Text = "节点11";
treeNode72.Name = "节点12";
treeNode72.Text = "节点12";
treeNode73.Name = "节点13";
treeNode73.Text = "节点13";
treeNode74.Name = "节点14";
treeNode74.Text = "节点14";
treeNode75.Name = "节点15";
treeNode75.Text = "节点15";
treeNode76.Name = "节点16";
treeNode76.Text = "节点16";
treeNode77.Name = "节点17";
treeNode77.Text = "节点17";
treeNode78.Name = "节点18";
treeNode78.Text = "节点18";
treeNode79.Name = "节点19";
treeNode79.Text = "节点19";
treeNode80.Name = "节点20";
treeNode80.Text = "节点20";
treeNode81.Name = "节点21";
treeNode81.Text = "节点21";
treeNode82.Name = "节点22";
treeNode82.Text = "节点22";
treeNode83.Name = "节点23";
treeNode83.Text = "节点23";
treeNode84.Name = "节点24";
treeNode84.Text = "节点24";
treeNode85.Name = "节点25";
treeNode85.Text = "节点25";
treeNode86.Name = "节点26";
treeNode86.Text = "节点26";
treeNode87.Name = "节点27";
treeNode87.Text = "节点27";
treeNode88.Name = "节点28";
treeNode88.Text = "节点28";
treeNode89.Name = "节点29";
treeNode89.Text = "节点29";
treeNode90.Name = "节点30";
treeNode90.Text = "节点30";
treeNode91.Name = "节点31";
treeNode91.Text = "节点31";
treeNode92.Name = "节点32";
treeNode92.Text = "节点32";
treeNode93.Name = "节点33";
treeNode93.Text = "节点33";
treeNode94.Name = "节点34";
treeNode94.Text = "节点34";
this.treeView1.Nodes.AddRange(new System.Windows.Forms.TreeNode[] {
treeNode13,
treeNode14,
treeNode15,
treeNode16,
treeNode17,
treeNode18,
treeNode19,
treeNode20,
treeNode21,
treeNode22,
treeNode23,
treeNode24,
treeNode25,
treeNode26,
treeNode27,
treeNode28,
treeNode29,
treeNode30,
treeNode31,
treeNode32,
treeNode33,
treeNode34,
treeNode35,
treeNode36,
treeNode37,
treeNode38,
treeNode39,
treeNode40,
treeNode41,
treeNode42,
treeNode43,
treeNode44,
treeNode45,
treeNode46,
treeNode47});
treeNode60,
treeNode61,
treeNode62,
treeNode63,
treeNode64,
treeNode65,
treeNode66,
treeNode67,
treeNode68,
treeNode69,
treeNode70,
treeNode71,
treeNode72,
treeNode73,
treeNode74,
treeNode75,
treeNode76,
treeNode77,
treeNode78,
treeNode79,
treeNode80,
treeNode81,
treeNode82,
treeNode83,
treeNode84,
treeNode85,
treeNode86,
treeNode87,
treeNode88,
treeNode89,
treeNode90,
treeNode91,
treeNode92,
treeNode93,
treeNode94});
this.treeView1.Size = new System.Drawing.Size(159, 97);
this.treeView1.TabIndex = 2;
this.scrollbarComponent1.SetUserCustomScrollbar(this.treeView1, true);
......@@ -269,10 +284,320 @@
"\n2\r\n3\r\n4\r\n5\r\n6\r\n7\r\n8\r\n9\r\n1\r\n2\r\n3\r\n4\r\n5\r\n6\r\n7\r\n8\r\n7\r\n";
this.scrollbarComponent1.SetUserCustomScrollbar(this.textBox1, true);
//
// panel2
//
this.panel2.AutoScroll = true;
this.panel2.BackColor = System.Drawing.Color.Silver;
this.panel2.Controls.Add(this.label2);
this.panel2.Location = new System.Drawing.Point(701, 22);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(246, 93);
this.panel2.TabIndex = 6;
this.scrollbarComponent1.SetUserCustomScrollbar(this.panel2, true);
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(3, 0);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(899, 12);
this.label2.TabIndex = 0;
this.label2.Text = "Panel滚动条aaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccc" +
"cdddddddddddddddddddddddeeeeeeeeeeeeeeeeeefffffffffffffffffffffff";
//
// uchScrollbar6
//
this.uchScrollbar6.BtnWidth = 18;
this.uchScrollbar6.ConerRadius = 10;
this.uchScrollbar6.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(184)))), ((int)(((byte)(0)))));
this.uchScrollbar6.Font = new System.Drawing.Font("微软雅黑", 15F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel);
this.uchScrollbar6.IsRadius = true;
this.uchScrollbar6.IsShowRect = false;
this.uchScrollbar6.LargeChange = 10;
this.uchScrollbar6.Location = new System.Drawing.Point(504, 488);
this.uchScrollbar6.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uchScrollbar6.Maximum = 100;
this.uchScrollbar6.Minimum = 0;
this.uchScrollbar6.MinimumSize = new System.Drawing.Size(0, 10);
this.uchScrollbar6.Name = "uchScrollbar6";
this.uchScrollbar6.RectColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220)))));
this.uchScrollbar6.RectWidth = 1;
this.uchScrollbar6.Size = new System.Drawing.Size(375, 22);
this.uchScrollbar6.SmallChange = 1;
this.uchScrollbar6.TabIndex = 5;
this.uchScrollbar6.ThumbColor = System.Drawing.Color.White;
this.uchScrollbar6.Value = 0;
//
// uchScrollbar4
//
this.uchScrollbar4.BtnWidth = 18;
this.uchScrollbar4.ConerRadius = 10;
this.uchScrollbar4.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(239)))), ((int)(((byte)(239)))), ((int)(((byte)(239)))));
this.uchScrollbar4.Font = new System.Drawing.Font("微软雅黑", 15F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel);
this.uchScrollbar4.IsRadius = true;
this.uchScrollbar4.IsShowRect = false;
this.uchScrollbar4.LargeChange = 10;
this.uchScrollbar4.Location = new System.Drawing.Point(504, 360);
this.uchScrollbar4.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uchScrollbar4.Maximum = 100;
this.uchScrollbar4.Minimum = 0;
this.uchScrollbar4.MinimumSize = new System.Drawing.Size(0, 10);
this.uchScrollbar4.Name = "uchScrollbar4";
this.uchScrollbar4.RectColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220)))));
this.uchScrollbar4.RectWidth = 1;
this.uchScrollbar4.Size = new System.Drawing.Size(375, 22);
this.uchScrollbar4.SmallChange = 1;
this.uchScrollbar4.TabIndex = 5;
this.uchScrollbar4.ThumbColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(150)))), ((int)(((byte)(136)))));
this.uchScrollbar4.Value = 0;
//
// uchScrollbar5
//
this.uchScrollbar5.BtnWidth = 18;
this.uchScrollbar5.ConerRadius = 7;
this.uchScrollbar5.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(184)))), ((int)(((byte)(0)))));
this.uchScrollbar5.Font = new System.Drawing.Font("微软雅黑", 15F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel);
this.uchScrollbar5.IsRadius = true;
this.uchScrollbar5.IsShowRect = false;
this.uchScrollbar5.LargeChange = 10;
this.uchScrollbar5.Location = new System.Drawing.Point(504, 426);
this.uchScrollbar5.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uchScrollbar5.Maximum = 100;
this.uchScrollbar5.Minimum = 0;
this.uchScrollbar5.MinimumSize = new System.Drawing.Size(0, 10);
this.uchScrollbar5.Name = "uchScrollbar5";
this.uchScrollbar5.RectColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220)))));
this.uchScrollbar5.RectWidth = 1;
this.uchScrollbar5.Size = new System.Drawing.Size(375, 18);
this.uchScrollbar5.SmallChange = 1;
this.uchScrollbar5.TabIndex = 5;
this.uchScrollbar5.ThumbColor = System.Drawing.Color.White;
this.uchScrollbar5.Value = 0;
//
// uchScrollbar3
//
this.uchScrollbar3.BtnWidth = 18;
this.uchScrollbar3.ConerRadius = 7;
this.uchScrollbar3.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(239)))), ((int)(((byte)(239)))), ((int)(((byte)(239)))));
this.uchScrollbar3.Font = new System.Drawing.Font("微软雅黑", 15F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel);
this.uchScrollbar3.IsRadius = true;
this.uchScrollbar3.IsShowRect = false;
this.uchScrollbar3.LargeChange = 10;
this.uchScrollbar3.Location = new System.Drawing.Point(504, 298);
this.uchScrollbar3.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uchScrollbar3.Maximum = 100;
this.uchScrollbar3.Minimum = 0;
this.uchScrollbar3.MinimumSize = new System.Drawing.Size(0, 10);
this.uchScrollbar3.Name = "uchScrollbar3";
this.uchScrollbar3.RectColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220)))));
this.uchScrollbar3.RectWidth = 1;
this.uchScrollbar3.Size = new System.Drawing.Size(375, 18);
this.uchScrollbar3.SmallChange = 1;
this.uchScrollbar3.TabIndex = 5;
this.uchScrollbar3.ThumbColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(150)))), ((int)(((byte)(136)))));
this.uchScrollbar3.Value = 0;
//
// uchScrollbar2
//
this.uchScrollbar2.BtnWidth = 18;
this.uchScrollbar2.ConerRadius = 2;
this.uchScrollbar2.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(239)))), ((int)(((byte)(239)))), ((int)(((byte)(239)))));
this.uchScrollbar2.Font = new System.Drawing.Font("微软雅黑", 15F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel);
this.uchScrollbar2.IsRadius = true;
this.uchScrollbar2.IsShowRect = false;
this.uchScrollbar2.LargeChange = 10;
this.uchScrollbar2.Location = new System.Drawing.Point(504, 232);
this.uchScrollbar2.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uchScrollbar2.Maximum = 100;
this.uchScrollbar2.Minimum = 0;
this.uchScrollbar2.MinimumSize = new System.Drawing.Size(0, 10);
this.uchScrollbar2.Name = "uchScrollbar2";
this.uchScrollbar2.RectColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220)))));
this.uchScrollbar2.RectWidth = 1;
this.uchScrollbar2.Size = new System.Drawing.Size(375, 22);
this.uchScrollbar2.SmallChange = 1;
this.uchScrollbar2.TabIndex = 5;
this.uchScrollbar2.ThumbColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(77)))), ((int)(((byte)(58)))));
this.uchScrollbar2.Value = 0;
//
// uchScrollbar1
//
this.uchScrollbar1.BtnWidth = 18;
this.uchScrollbar1.ConerRadius = 2;
this.uchScrollbar1.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(239)))), ((int)(((byte)(239)))), ((int)(((byte)(239)))));
this.uchScrollbar1.Font = new System.Drawing.Font("微软雅黑", 15F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel);
this.uchScrollbar1.IsRadius = true;
this.uchScrollbar1.IsShowRect = false;
this.uchScrollbar1.LargeChange = 10;
this.uchScrollbar1.Location = new System.Drawing.Point(504, 170);
this.uchScrollbar1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uchScrollbar1.Maximum = 100;
this.uchScrollbar1.Minimum = 0;
this.uchScrollbar1.MinimumSize = new System.Drawing.Size(0, 10);
this.uchScrollbar1.Name = "uchScrollbar1";
this.uchScrollbar1.RectColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220)))));
this.uchScrollbar1.RectWidth = 1;
this.uchScrollbar1.Size = new System.Drawing.Size(375, 18);
this.uchScrollbar1.SmallChange = 1;
this.uchScrollbar1.TabIndex = 5;
this.uchScrollbar1.ThumbColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(77)))), ((int)(((byte)(58)))));
this.uchScrollbar1.Value = 0;
//
// ucvScrollbar6
//
this.ucvScrollbar6.BtnHeight = 18;
this.ucvScrollbar6.ConerRadius = 10;
this.ucvScrollbar6.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(184)))), ((int)(((byte)(0)))));
this.ucvScrollbar6.Font = new System.Drawing.Font("微软雅黑", 15F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel);
this.ucvScrollbar6.IsRadius = true;
this.ucvScrollbar6.IsShowRect = false;
this.ucvScrollbar6.LargeChange = 10;
this.ucvScrollbar6.Location = new System.Drawing.Point(422, 170);
this.ucvScrollbar6.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.ucvScrollbar6.Maximum = 100;
this.ucvScrollbar6.Minimum = 0;
this.ucvScrollbar6.MinimumSize = new System.Drawing.Size(10, 0);
this.ucvScrollbar6.Name = "ucvScrollbar6";
this.ucvScrollbar6.RectColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220)))));
this.ucvScrollbar6.RectWidth = 1;
this.ucvScrollbar6.Size = new System.Drawing.Size(23, 343);
this.ucvScrollbar6.SmallChange = 1;
this.ucvScrollbar6.TabIndex = 4;
this.ucvScrollbar6.ThumbColor = System.Drawing.Color.White;
this.ucvScrollbar6.Value = 0;
//
// ucvScrollbar5
//
this.ucvScrollbar5.BtnHeight = 18;
this.ucvScrollbar5.ConerRadius = 7;
this.ucvScrollbar5.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(184)))), ((int)(((byte)(0)))));
this.ucvScrollbar5.Font = new System.Drawing.Font("微软雅黑", 15F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel);
this.ucvScrollbar5.IsRadius = true;
this.ucvScrollbar5.IsShowRect = false;
this.ucvScrollbar5.LargeChange = 10;
this.ucvScrollbar5.Location = new System.Drawing.Point(346, 170);
this.ucvScrollbar5.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.ucvScrollbar5.Maximum = 100;
this.ucvScrollbar5.Minimum = 0;
this.ucvScrollbar5.MinimumSize = new System.Drawing.Size(10, 0);
this.ucvScrollbar5.Name = "ucvScrollbar5";
this.ucvScrollbar5.RectColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220)))));
this.ucvScrollbar5.RectWidth = 1;
this.ucvScrollbar5.Size = new System.Drawing.Size(18, 343);
this.ucvScrollbar5.SmallChange = 1;
this.ucvScrollbar5.TabIndex = 4;
this.ucvScrollbar5.ThumbColor = System.Drawing.Color.White;
this.ucvScrollbar5.Value = 0;
//
// ucvScrollbar4
//
this.ucvScrollbar4.BtnHeight = 18;
this.ucvScrollbar4.ConerRadius = 10;
this.ucvScrollbar4.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(239)))), ((int)(((byte)(239)))), ((int)(((byte)(239)))));
this.ucvScrollbar4.Font = new System.Drawing.Font("微软雅黑", 15F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel);
this.ucvScrollbar4.IsRadius = true;
this.ucvScrollbar4.IsShowRect = false;
this.ucvScrollbar4.LargeChange = 10;
this.ucvScrollbar4.Location = new System.Drawing.Point(270, 170);
this.ucvScrollbar4.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.ucvScrollbar4.Maximum = 100;
this.ucvScrollbar4.Minimum = 0;
this.ucvScrollbar4.MinimumSize = new System.Drawing.Size(10, 0);
this.ucvScrollbar4.Name = "ucvScrollbar4";
this.ucvScrollbar4.RectColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220)))));
this.ucvScrollbar4.RectWidth = 1;
this.ucvScrollbar4.Size = new System.Drawing.Size(23, 343);
this.ucvScrollbar4.SmallChange = 1;
this.ucvScrollbar4.TabIndex = 4;
this.ucvScrollbar4.ThumbColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(150)))), ((int)(((byte)(136)))));
this.ucvScrollbar4.Value = 0;
//
// ucvScrollbar3
//
this.ucvScrollbar3.BtnHeight = 18;
this.ucvScrollbar3.ConerRadius = 7;
this.ucvScrollbar3.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(239)))), ((int)(((byte)(239)))), ((int)(((byte)(239)))));
this.ucvScrollbar3.Font = new System.Drawing.Font("微软雅黑", 15F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel);
this.ucvScrollbar3.IsRadius = true;
this.ucvScrollbar3.IsShowRect = false;
this.ucvScrollbar3.LargeChange = 10;
this.ucvScrollbar3.Location = new System.Drawing.Point(194, 170);
this.ucvScrollbar3.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.ucvScrollbar3.Maximum = 100;
this.ucvScrollbar3.Minimum = 0;
this.ucvScrollbar3.MinimumSize = new System.Drawing.Size(10, 0);
this.ucvScrollbar3.Name = "ucvScrollbar3";
this.ucvScrollbar3.RectColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220)))));
this.ucvScrollbar3.RectWidth = 1;
this.ucvScrollbar3.Size = new System.Drawing.Size(18, 343);
this.ucvScrollbar3.SmallChange = 1;
this.ucvScrollbar3.TabIndex = 4;
this.ucvScrollbar3.ThumbColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(150)))), ((int)(((byte)(136)))));
this.ucvScrollbar3.Value = 0;
//
// ucvScrollbar2
//
this.ucvScrollbar2.BtnHeight = 18;
this.ucvScrollbar2.ConerRadius = 2;
this.ucvScrollbar2.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(239)))), ((int)(((byte)(239)))), ((int)(((byte)(239)))));
this.ucvScrollbar2.Font = new System.Drawing.Font("微软雅黑", 15F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel);
this.ucvScrollbar2.IsRadius = true;
this.ucvScrollbar2.IsShowRect = false;
this.ucvScrollbar2.LargeChange = 10;
this.ucvScrollbar2.Location = new System.Drawing.Point(111, 170);
this.ucvScrollbar2.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.ucvScrollbar2.Maximum = 100;
this.ucvScrollbar2.Minimum = 0;
this.ucvScrollbar2.MinimumSize = new System.Drawing.Size(10, 0);
this.ucvScrollbar2.Name = "ucvScrollbar2";
this.ucvScrollbar2.RectColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220)))));
this.ucvScrollbar2.RectWidth = 1;
this.ucvScrollbar2.Size = new System.Drawing.Size(24, 343);
this.ucvScrollbar2.SmallChange = 1;
this.ucvScrollbar2.TabIndex = 4;
this.ucvScrollbar2.ThumbColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(77)))), ((int)(((byte)(58)))));
this.ucvScrollbar2.Value = 0;
//
// ucvScrollbar1
//
this.ucvScrollbar1.BtnHeight = 18;
this.ucvScrollbar1.ConerRadius = 2;
this.ucvScrollbar1.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(239)))), ((int)(((byte)(239)))), ((int)(((byte)(239)))));
this.ucvScrollbar1.Font = new System.Drawing.Font("微软雅黑", 15F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel);
this.ucvScrollbar1.IsRadius = true;
this.ucvScrollbar1.IsShowRect = false;
this.ucvScrollbar1.LargeChange = 10;
this.ucvScrollbar1.Location = new System.Drawing.Point(35, 170);
this.ucvScrollbar1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.ucvScrollbar1.Maximum = 100;
this.ucvScrollbar1.Minimum = 0;
this.ucvScrollbar1.MinimumSize = new System.Drawing.Size(10, 0);
this.ucvScrollbar1.Name = "ucvScrollbar1";
this.ucvScrollbar1.RectColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(220)))), ((int)(((byte)(220)))));
this.ucvScrollbar1.RectWidth = 1;
this.ucvScrollbar1.Size = new System.Drawing.Size(18, 343);
this.ucvScrollbar1.SmallChange = 1;
this.ucvScrollbar1.TabIndex = 4;
this.ucvScrollbar1.ThumbColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(77)))), ((int)(((byte)(58)))));
this.ucvScrollbar1.Value = 0;
//
// UCTestScrollbar
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.BackColor = System.Drawing.Color.White;
this.Controls.Add(this.panel2);
this.Controls.Add(this.uchScrollbar6);
this.Controls.Add(this.uchScrollbar4);
this.Controls.Add(this.uchScrollbar5);
this.Controls.Add(this.uchScrollbar3);
this.Controls.Add(this.uchScrollbar2);
this.Controls.Add(this.uchScrollbar1);
this.Controls.Add(this.ucvScrollbar6);
this.Controls.Add(this.ucvScrollbar5);
this.Controls.Add(this.ucvScrollbar4);
this.Controls.Add(this.ucvScrollbar3);
this.Controls.Add(this.ucvScrollbar2);
this.Controls.Add(this.ucvScrollbar1);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.treeView1);
this.Controls.Add(this.panel1);
......@@ -281,6 +606,8 @@
this.Load += new System.EventHandler(this.UCTestScrollbar_Load);
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.panel2.ResumeLayout(false);
this.panel2.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
......@@ -293,5 +620,19 @@
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TreeView treeView1;
private System.Windows.Forms.TextBox textBox1;
private HZH_Controls.Controls.UCVScrollbar ucvScrollbar1;
private HZH_Controls.Controls.UCVScrollbar ucvScrollbar2;
private HZH_Controls.Controls.UCVScrollbar ucvScrollbar3;
private HZH_Controls.Controls.UCVScrollbar ucvScrollbar4;
private HZH_Controls.Controls.UCVScrollbar ucvScrollbar5;
private HZH_Controls.Controls.UCVScrollbar ucvScrollbar6;
private HZH_Controls.Controls.UCHScrollbar uchScrollbar1;
private HZH_Controls.Controls.UCHScrollbar uchScrollbar2;
private HZH_Controls.Controls.UCHScrollbar uchScrollbar3;
private HZH_Controls.Controls.UCHScrollbar uchScrollbar4;
private HZH_Controls.Controls.UCHScrollbar uchScrollbar5;
private HZH_Controls.Controls.UCHScrollbar uchScrollbar6;
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.Label label2;
}
}
......@@ -120,4 +120,7 @@
<metadata name="scrollbarComponent1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="scrollbarComponent1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>
\ No newline at end of file
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!