* UIListBox:增加Items变更的事件
This commit is contained in:
parent
0aad9b54ee
commit
1408316ed6
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -42,13 +42,14 @@ namespace Sunny.UI
|
|||||||
ListBox.DisplayMemberChanged += Box_DisplayMemberChanged;
|
ListBox.DisplayMemberChanged += Box_DisplayMemberChanged;
|
||||||
ListBox.ValueMemberChanged += Box_ValueMemberChanged;
|
ListBox.ValueMemberChanged += Box_ValueMemberChanged;
|
||||||
ListBox.SelectedValueChanged += ListBox_SelectedValueChanged;
|
ListBox.SelectedValueChanged += ListBox_SelectedValueChanged;
|
||||||
ListBox.ItemsCountChange += ListBox_ItemsCountChange;
|
ListBox.ItemsClear += ListBox_ItemsClear;
|
||||||
|
ListBox.ItemsRemove += ListBox_ItemsRemove;
|
||||||
edit.TextChanged += Edit_TextChanged;
|
edit.TextChanged += Edit_TextChanged;
|
||||||
DropDownWidth = 150;
|
DropDownWidth = 150;
|
||||||
fullControlSelect = true;
|
fullControlSelect = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ListBox_ItemsCountChange(object sender, EventArgs e)
|
private void ListBox_ItemsRemove(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (ListBox.Count == 0)
|
if (ListBox.Count == 0)
|
||||||
{
|
{
|
||||||
@ -57,6 +58,12 @@ namespace Sunny.UI
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void ListBox_ItemsClear(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
Text = "";
|
||||||
|
edit.Text = "";
|
||||||
|
}
|
||||||
|
|
||||||
public new EventHandler TextChanged;
|
public new EventHandler TextChanged;
|
||||||
|
|
||||||
private void Edit_TextChanged(object sender, EventArgs e)
|
private void Edit_TextChanged(object sender, EventArgs e)
|
||||||
|
@ -66,14 +66,44 @@ namespace Sunny.UI
|
|||||||
listbox.MouseDown += Listbox_MouseDown;
|
listbox.MouseDown += Listbox_MouseDown;
|
||||||
listbox.MouseUp += Listbox_MouseUp;
|
listbox.MouseUp += Listbox_MouseUp;
|
||||||
listbox.MouseMove += Listbox_MouseMove;
|
listbox.MouseMove += Listbox_MouseMove;
|
||||||
ListBox.DataSourceChanged += Box_DataSourceChanged;
|
listbox.DataSourceChanged += Box_DataSourceChanged;
|
||||||
ListBox.DisplayMemberChanged += Box_DisplayMemberChanged;
|
listbox.DisplayMemberChanged += Box_DisplayMemberChanged;
|
||||||
ListBox.ValueMemberChanged += Box_ValueMemberChanged;
|
listbox.ValueMemberChanged += Box_ValueMemberChanged;
|
||||||
|
listbox.ItemsClear += Listbox_ItemsClear;
|
||||||
|
listbox.ItemsAdd += Listbox_ItemsAdd;
|
||||||
|
listbox.ItemsRemove += Listbox_ItemsRemove;
|
||||||
|
listbox.ItemsInsert += Listbox_ItemsInsert;
|
||||||
|
|
||||||
timer.Tick += Timer_Tick;
|
timer.Tick += Timer_Tick;
|
||||||
timer.Start();
|
timer.Start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public event EventHandler ItemsClear;
|
||||||
|
public event EventHandler ItemsAdd;
|
||||||
|
public event EventHandler ItemsRemove;
|
||||||
|
public event EventHandler ItemsInsert;
|
||||||
|
|
||||||
|
private void Listbox_ItemsInsert(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
ItemsInsert?.Invoke(this, e);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Listbox_ItemsRemove(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
ItemsRemove?.Invoke(this, e);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Listbox_ItemsAdd(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
ItemsAdd?.Invoke(this, e);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void Listbox_ItemsClear(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
ItemsClear?.Invoke(this, e);
|
||||||
|
}
|
||||||
|
|
||||||
[Browsable(false)]
|
[Browsable(false)]
|
||||||
public ListBox ListBox => listbox;
|
public ListBox ListBox => listbox;
|
||||||
|
|
||||||
@ -460,6 +490,44 @@ namespace Sunny.UI
|
|||||||
SetScrollInfo();
|
SetScrollInfo();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public event EventHandler ItemsClear;
|
||||||
|
public event EventHandler ItemsAdd;
|
||||||
|
public event EventHandler ItemsRemove;
|
||||||
|
public event EventHandler ItemsInsert;
|
||||||
|
|
||||||
|
protected override void WndProc(ref Message m)
|
||||||
|
{
|
||||||
|
if (IsDisposed || Disposing) return;
|
||||||
|
if (IsHandleCreated)
|
||||||
|
{
|
||||||
|
const int LB_ADDSTRING = 0x0180;
|
||||||
|
const int LB_INSERTSTRING = 0x0181;
|
||||||
|
const int LB_DELETESTRING = 0x0182;
|
||||||
|
const int LB_RESETCONTENT = 0x0184;
|
||||||
|
if (m.Msg == LB_RESETCONTENT)
|
||||||
|
{
|
||||||
|
ItemsClear?.Invoke(this, EventArgs.Empty);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m.Msg == LB_DELETESTRING)
|
||||||
|
{
|
||||||
|
ItemsRemove?.Invoke(this, EventArgs.Empty);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m.Msg == LB_ADDSTRING)
|
||||||
|
{
|
||||||
|
ItemsAdd?.Invoke(this, EventArgs.Empty);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m.Msg == LB_INSERTSTRING)
|
||||||
|
{
|
||||||
|
ItemsInsert?.Invoke(this, EventArgs.Empty);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
base.WndProc(ref m);
|
||||||
|
}
|
||||||
|
|
||||||
protected override void OnSizeChanged(EventArgs e)
|
protected override void OnSizeChanged(EventArgs e)
|
||||||
{
|
{
|
||||||
if (Bar != null && Bar.Visible)
|
if (Bar != null && Bar.Visible)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user