TextBox增加TextChange事件
This commit is contained in:
parent
8efffc058d
commit
5f92d504b0
BIN
Bin/SunnyUI.dll
BIN
Bin/SunnyUI.dll
Binary file not shown.
BIN
Bin/SunnyUI.pdb
BIN
Bin/SunnyUI.pdb
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -20,9 +20,6 @@
|
|||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
using Sunny.UI.Properties;
|
using Sunny.UI.Properties;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Reflection;
|
|
||||||
using System.Windows.Forms;
|
|
||||||
|
|
||||||
namespace Sunny.UI
|
namespace Sunny.UI
|
||||||
{
|
{
|
||||||
@ -35,88 +32,5 @@ namespace Sunny.UI
|
|||||||
/// 版本
|
/// 版本
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static string Version = Resources.Name + " " + Resources.Version;
|
public static string Version = Resources.Name + " " + Resources.Version;
|
||||||
|
|
||||||
public static bool IsCustom(this UIStyle style)
|
|
||||||
{
|
|
||||||
return style.Equals(UIStyle.Custom);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static bool IsValid(this UIStyle style)
|
|
||||||
{
|
|
||||||
return !style.IsCustom();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static bool IsCustom(this UIBaseStyle style)
|
|
||||||
{
|
|
||||||
return style.Name.IsCustom();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static bool IsValid(this UIBaseStyle style)
|
|
||||||
{
|
|
||||||
return !style.IsCustom();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void SetChildUIStyle(Control ctrl, UIStyle style)
|
|
||||||
{
|
|
||||||
List<Control> controls = ctrl.GetUIStyleControls("IStyleInterface");
|
|
||||||
foreach (var control in controls)
|
|
||||||
{
|
|
||||||
if (control is IStyleInterface item)
|
|
||||||
{
|
|
||||||
if (!item.StyleCustomMode)
|
|
||||||
{
|
|
||||||
item.Style = style;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
FieldInfo[] fieldInfo = ctrl.GetType().GetFields(BindingFlags.NonPublic | BindingFlags.Instance);
|
|
||||||
foreach (var info in fieldInfo)
|
|
||||||
{
|
|
||||||
if (info.FieldType.Name == "UIContextMenuStrip")
|
|
||||||
{
|
|
||||||
UIContextMenuStrip context = (UIContextMenuStrip)info.GetValue(ctrl);
|
|
||||||
if (context != null && !context.StyleCustomMode)
|
|
||||||
{
|
|
||||||
context.SetStyle(style);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 查找包含接口名称的控件列表
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="ctrl">容器</param>
|
|
||||||
/// <param name="interfaceName">接口名称</param>
|
|
||||||
/// <returns>控件列表</returns>
|
|
||||||
private static List<Control> GetUIStyleControls(this Control ctrl, string interfaceName)
|
|
||||||
{
|
|
||||||
List<Control> values = new List<Control>();
|
|
||||||
|
|
||||||
foreach (Control obj in ctrl.Controls)
|
|
||||||
{
|
|
||||||
if (obj.GetType().GetInterface(interfaceName) != null)
|
|
||||||
{
|
|
||||||
values.Add(obj);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (obj is UIPage) continue;
|
|
||||||
if (obj is UIPanel) continue;
|
|
||||||
|
|
||||||
if (obj.Controls.Count > 0)
|
|
||||||
{
|
|
||||||
values.AddRange(obj.GetUIStyleControls(interfaceName));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return values;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void ReStart(this Timer timer)
|
|
||||||
{
|
|
||||||
timer.Stop();
|
|
||||||
timer.Start();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -442,7 +442,7 @@ namespace Sunny.UI
|
|||||||
|
|
||||||
public void SetStyle(UIStyle style)
|
public void SetStyle(UIStyle style)
|
||||||
{
|
{
|
||||||
UIGlobal.SetChildUIStyle(this, style);
|
this.SetChildUIStyle(style);
|
||||||
|
|
||||||
SetStyleColor(UIStyles.GetStyleColor(style));
|
SetStyleColor(UIStyles.GetStyleColor(style));
|
||||||
_style = style;
|
_style = style;
|
||||||
|
@ -56,21 +56,17 @@ namespace Sunny.UI
|
|||||||
edit.SelectAll();
|
edit.SelectAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void OnTextChanged(EventArgs e)
|
|
||||||
{
|
|
||||||
base.OnTextChanged(e);
|
|
||||||
edit.Text = Text;
|
|
||||||
Invalidate();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void CheckMaxMin()
|
public void CheckMaxMin()
|
||||||
{
|
{
|
||||||
edit.CheckMaxMin();
|
edit.CheckMaxMin();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Browsable(true)]
|
||||||
|
public new event EventHandler TextChanged;
|
||||||
|
|
||||||
private void EditTextChanged(object s, EventArgs e)
|
private void EditTextChanged(object s, EventArgs e)
|
||||||
{
|
{
|
||||||
Text = edit.Text;
|
TextChanged?.Invoke(this, e);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void OnFontChanged(EventArgs e)
|
protected override void OnFontChanged(EventArgs e)
|
||||||
|
@ -613,7 +613,7 @@ namespace Sunny.UI
|
|||||||
|
|
||||||
public void SetStyle(UIStyle style)
|
public void SetStyle(UIStyle style)
|
||||||
{
|
{
|
||||||
UIGlobal.SetChildUIStyle(this, style);
|
this.SetChildUIStyle(style);
|
||||||
btn.SetStyle(style);
|
btn.SetStyle(style);
|
||||||
|
|
||||||
SetStyleColor(UIStyles.GetStyleColor(style));
|
SetStyleColor(UIStyles.GetStyleColor(style));
|
||||||
|
@ -122,7 +122,7 @@ namespace Sunny.UI
|
|||||||
|
|
||||||
public void SetStyle(UIStyle style)
|
public void SetStyle(UIStyle style)
|
||||||
{
|
{
|
||||||
UIGlobal.SetChildUIStyle(this, style);
|
this.SetChildUIStyle(style);
|
||||||
|
|
||||||
SetStyleColor(UIStyles.GetStyleColor(style));
|
SetStyleColor(UIStyles.GetStyleColor(style));
|
||||||
_style = style;
|
_style = style;
|
||||||
|
@ -37,6 +37,12 @@ namespace Sunny.UI
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public static class ControlEx
|
public static class ControlEx
|
||||||
{
|
{
|
||||||
|
public static void ReStart(this Timer timer)
|
||||||
|
{
|
||||||
|
timer.Stop();
|
||||||
|
timer.Start();
|
||||||
|
}
|
||||||
|
|
||||||
public static Form GetParentForm(this Control ctrl)
|
public static Form GetParentForm(this Control ctrl)
|
||||||
{
|
{
|
||||||
while (!IsForm(ctrl.Parent))
|
while (!IsForm(ctrl.Parent))
|
||||||
|
@ -21,7 +21,9 @@
|
|||||||
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Concurrent;
|
using System.Collections.Concurrent;
|
||||||
|
using System.Collections.Generic;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
|
using System.Reflection;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace Sunny.UI
|
namespace Sunny.UI
|
||||||
@ -640,4 +642,99 @@ namespace Sunny.UI
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public static readonly Color Transparent = Color.Transparent;
|
public static readonly Color Transparent = Color.Transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static class UIStyleHelper
|
||||||
|
{
|
||||||
|
public static bool IsCustom(this UIStyle style)
|
||||||
|
{
|
||||||
|
return style.Equals(UIStyle.Custom);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool IsValid(this UIStyle style)
|
||||||
|
{
|
||||||
|
return !style.IsCustom();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool IsCustom(this UIBaseStyle style)
|
||||||
|
{
|
||||||
|
return style.Name.IsCustom();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool IsValid(this UIBaseStyle style)
|
||||||
|
{
|
||||||
|
return !style.IsCustom();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void SetChildUIStyle(this UIPanel ctrl, UIStyle style)
|
||||||
|
{
|
||||||
|
SetControlChildUIStyle(ctrl, style);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void SetChildUIStyle(this UIForm ctrl, UIStyle style)
|
||||||
|
{
|
||||||
|
SetControlChildUIStyle(ctrl, style);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void SetChildUIStyle(this UIPage ctrl, UIStyle style)
|
||||||
|
{
|
||||||
|
SetControlChildUIStyle(ctrl, style);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void SetControlChildUIStyle(Control ctrl, UIStyle style)
|
||||||
|
{
|
||||||
|
List<Control> controls = ctrl.GetUIStyleControls("IStyleInterface");
|
||||||
|
foreach (var control in controls)
|
||||||
|
{
|
||||||
|
if (control is IStyleInterface item)
|
||||||
|
{
|
||||||
|
if (!item.StyleCustomMode)
|
||||||
|
{
|
||||||
|
item.Style = style;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
FieldInfo[] fieldInfo = ctrl.GetType().GetFields(BindingFlags.NonPublic | BindingFlags.Instance);
|
||||||
|
foreach (var info in fieldInfo)
|
||||||
|
{
|
||||||
|
if (info.FieldType.Name == "UIContextMenuStrip")
|
||||||
|
{
|
||||||
|
UIContextMenuStrip context = (UIContextMenuStrip)info.GetValue(ctrl);
|
||||||
|
if (context != null && !context.StyleCustomMode)
|
||||||
|
{
|
||||||
|
context.SetStyle(style);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 查找包含接口名称的控件列表
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="ctrl">容器</param>
|
||||||
|
/// <param name="interfaceName">接口名称</param>
|
||||||
|
/// <returns>控件列表</returns>
|
||||||
|
private static List<Control> GetUIStyleControls(this Control ctrl, string interfaceName)
|
||||||
|
{
|
||||||
|
List<Control> values = new List<Control>();
|
||||||
|
|
||||||
|
foreach (Control obj in ctrl.Controls)
|
||||||
|
{
|
||||||
|
if (obj.GetType().GetInterface(interfaceName) != null)
|
||||||
|
{
|
||||||
|
values.Add(obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (obj is UIPage) continue;
|
||||||
|
if (obj is UIPanel) continue;
|
||||||
|
|
||||||
|
if (obj.Controls.Count > 0)
|
||||||
|
{
|
||||||
|
values.AddRange(obj.GetUIStyleControls(interfaceName));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return values;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user