mirror of
https://github.com/oliverbooth/X10D
synced 2024-11-23 00:38: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>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="ControlExtensions.cs" />
|
<Compile Include="ControlExtensions.cs" />
|
||||||
|
<Compile Include="ListViewExtensions.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
Loading…
Reference in New Issue
Block a user