UIListBox,UIImageListBox:增加控件的MouseDown、MouseMove、MouseUp事件

This commit is contained in:
Sunny 2020-09-28 21:53:50 +08:00
parent 7fd450f609
commit e0991ed91a
5 changed files with 53 additions and 9 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -61,8 +61,30 @@ namespace Sunny.UI
listbox.Click += Listbox_Click; listbox.Click += Listbox_Click;
listbox.DoubleClick += Listbox_DoubleClick; listbox.DoubleClick += Listbox_DoubleClick;
listbox.BeforeDrawItem += Listbox_BeforeDrawItem; listbox.BeforeDrawItem += Listbox_BeforeDrawItem;
listbox.MouseDown += Listbox_MouseDown;
listbox.MouseUp += Listbox_MouseUp;
listbox.MouseMove += Listbox_MouseMove;
} }
private void Listbox_MouseMove(object sender, MouseEventArgs e)
{
MouseMove?.Invoke(this, e);
}
private void Listbox_MouseUp(object sender, MouseEventArgs e)
{
MouseUp?.Invoke(this, e);
}
private void Listbox_MouseDown(object sender, MouseEventArgs e)
{
MouseDown?.Invoke(this, e);
}
public new event MouseEventHandler MouseDown;
public new event MouseEventHandler MouseUp;
public new event MouseEventHandler MouseMove;
protected override void OnFontChanged(EventArgs e) protected override void OnFontChanged(EventArgs e)
{ {
base.OnFontChanged(e); base.OnFontChanged(e);
@ -90,13 +112,13 @@ namespace Sunny.UI
private void Listbox_DoubleClick(object sender, EventArgs e) private void Listbox_DoubleClick(object sender, EventArgs e)
{ {
if (SelectedItem != null) if (SelectedItem != null)
ItemDoubleClick?.Invoke(sender, e); ItemDoubleClick?.Invoke(this, e);
} }
private void Listbox_Click(object sender, EventArgs e) private void Listbox_Click(object sender, EventArgs e)
{ {
if (SelectedItem != null) if (SelectedItem != null)
ItemClick?.Invoke(sender, e); ItemClick?.Invoke(this, e);
} }
[Browsable(false)] [Browsable(false)]
@ -114,13 +136,13 @@ namespace Sunny.UI
private void Listbox_SelectedValueChanged(object sender, EventArgs e) private void Listbox_SelectedValueChanged(object sender, EventArgs e)
{ {
SelectedValueChanged?.Invoke(sender, e); SelectedValueChanged?.Invoke(this, e);
Text = listbox.SelectedItem?.ToString(); Text = listbox.SelectedItem?.ToString();
} }
private void Listbox_SelectedIndexChanged(object sender, EventArgs e) private void Listbox_SelectedIndexChanged(object sender, EventArgs e)
{ {
SelectedIndexChanged?.Invoke(sender, e); SelectedIndexChanged?.Invoke(this, e);
} }
[DefaultValue(100)] [DefaultValue(100)]

View File

@ -62,11 +62,33 @@ namespace Sunny.UI
listbox.Click += Listbox_Click; listbox.Click += Listbox_Click;
listbox.DoubleClick += Listbox_DoubleClick; listbox.DoubleClick += Listbox_DoubleClick;
listbox.BeforeDrawItem += Listbox_BeforeDrawItem; listbox.BeforeDrawItem += Listbox_BeforeDrawItem;
listbox.MouseDown += Listbox_MouseDown;
listbox.MouseUp += Listbox_MouseUp;
listbox.MouseMove += Listbox_MouseMove;
timer.Tick += Timer_Tick; timer.Tick += Timer_Tick;
timer.Start(); timer.Start();
} }
private void Listbox_MouseMove(object sender, MouseEventArgs e)
{
MouseMove?.Invoke(this, e);
}
private void Listbox_MouseUp(object sender, MouseEventArgs e)
{
MouseUp?.Invoke(this, e);
}
private void Listbox_MouseDown(object sender, MouseEventArgs e)
{
MouseDown?.Invoke(this, e);
}
public new event MouseEventHandler MouseDown;
public new event MouseEventHandler MouseUp;
public new event MouseEventHandler MouseMove;
~UIListBox() ~UIListBox()
{ {
timer.Stop(); timer.Stop();
@ -78,7 +100,7 @@ namespace Sunny.UI
{ {
LastCount = 0; LastCount = 0;
timer.Stop(); timer.Stop();
ItemsCountChange?.Invoke(sender, e); ItemsCountChange?.Invoke(this, e);
timer.Start(); timer.Start();
} }
} }
@ -110,13 +132,13 @@ namespace Sunny.UI
private void Listbox_DoubleClick(object sender, EventArgs e) private void Listbox_DoubleClick(object sender, EventArgs e)
{ {
if (SelectedItem != null) if (SelectedItem != null)
ItemDoubleClick?.Invoke(sender, e); ItemDoubleClick?.Invoke(this, e);
} }
private void Listbox_Click(object sender, EventArgs e) private void Listbox_Click(object sender, EventArgs e)
{ {
if (SelectedItem != null) if (SelectedItem != null)
ItemClick?.Invoke(sender, e); ItemClick?.Invoke(this, e);
} }
public event EventHandler ItemClick; public event EventHandler ItemClick;
@ -131,13 +153,13 @@ namespace Sunny.UI
private void Listbox_SelectedValueChanged(object sender, EventArgs e) private void Listbox_SelectedValueChanged(object sender, EventArgs e)
{ {
SelectedValueChanged?.Invoke(sender, e); SelectedValueChanged?.Invoke(this, e);
Text = listbox.SelectedItem?.ToString(); Text = listbox.SelectedItem?.ToString();
} }
private void Listbox_SelectedIndexChanged(object sender, EventArgs e) private void Listbox_SelectedIndexChanged(object sender, EventArgs e)
{ {
SelectedIndexChanged?.Invoke(sender, e); SelectedIndexChanged?.Invoke(this, e);
} }
[DefaultValue(25)] [DefaultValue(25)]