* UIIPTextBox: 删除TextChanged事件,增加ValueChanged事件

This commit is contained in:
Sunny 2022-12-02 22:25:38 +08:00
parent 87a311ea6a
commit 4353a01a03

View File

@ -18,6 +18,7 @@
*
* 2022-01-29: V3.1.0
* 2022-11-02: V3.2.6 TextChanged事件
* 2022-12-02: V3.3.0 TextChanged事件ValueChanged事件
******************************************************************************/
using System;
@ -29,6 +30,8 @@ using System.Windows.Forms;
namespace Sunny.UI
{
[DefaultProperty("Text")]
[DefaultEvent("ValueChanged")]
public sealed partial class UIIPTextBox : UIPanel
{
private IPAddress _value;
@ -51,16 +54,10 @@ namespace Sunny.UI
txt.KeyPress += Txt_KeyPress;
txt.TextChanged += Txt_TextChanged;
txt.Leave += Txt_Leave;
txt.TextChanged += Txt_TextChanged1;
}
}
private void Txt_TextChanged1(object sender, EventArgs e)
{
TextChanged?.Invoke(this, e);
}
public new event EventHandler TextChanged;
public event EventHandler ValueChanged;
private void Txt_Leave(object sender, EventArgs e)
{
@ -200,9 +197,16 @@ namespace Sunny.UI
string strIp = $"{txt1.Text}.{txt2.Text}.{txt3.Text}.{txt4.Text}";
if (!IPAddress.TryParse(strIp, out IPAddress ip)) return;
_value = ip;
if (IPAddress.TryParse(strIp, out IPAddress ip))
{
_value = ip;
ValueChanged?.Invoke(this, EventArgs.Empty);
}
else
{
_value = null;
ValueChanged?.Invoke(this, EventArgs.Empty);
}
}
[Browsable(true)]
@ -227,8 +231,9 @@ namespace Sunny.UI
get => _value;
set
{
if (value == null)
return;
_value = value;
ValueChanged?.Invoke(this, EventArgs.Empty);
if (value == null) return;
byte[] bytes = value.GetAddressBytes();
txt1.Text = bytes[0].ToString();