mirror of
https://github.com/oliverbooth/X10D
synced 2024-11-22 18:58:47 +00:00
✨ Add ListViewExtensions
MoveToTop() moves the selected list item to the top of the list view by removing the item, and inserting it at index 0.
This commit is contained in:
parent
ac10a5912e
commit
d037b7f948
35
X10D.WinForms/ListViewExtensions.cs
Normal file
35
X10D.WinForms/ListViewExtensions.cs
Normal file
@ -0,0 +1,35 @@
|
||||
namespace X10D.WinForms
|
||||
{
|
||||
#region Using Directives
|
||||
|
||||
using System.Windows.Forms;
|
||||
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// A set of extension methods for <see cref="ListView"/> and <see cref="ListViewItem"/>.
|
||||
/// </summary>
|
||||
public static class ListViewExtensions
|
||||
{
|
||||
/// <summary>
|
||||
/// Moves the <see cref="ListViewItem"/> to the top of the specified <see cref="ListView"/>.
|
||||
/// </summary>
|
||||
/// <param name="item">The <see cref="ListViewItem"/> to move.</param>
|
||||
/// <param name="listView">Optional. The parent <see cref="ListView"/>. Defaults to the current parent.</param>
|
||||
public static void MoveToTop(this ListViewItem item, ListView listView = null)
|
||||
{
|
||||
if (listView == null)
|
||||
{
|
||||
listView = item.ListView;
|
||||
}
|
||||
|
||||
if (listView.Items.Contains(item))
|
||||
{
|
||||
int i = listView.Items.IndexOf(item);
|
||||
listView.Items.RemoveAt(i);
|
||||
}
|
||||
|
||||
listView.Items.Insert(0, item);
|
||||
}
|
||||
}
|
||||
}
|
@ -43,6 +43,7 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="ControlExtensions.cs" />
|
||||
<Compile Include="ListViewExtensions.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
|
Loading…
Reference in New Issue
Block a user