RaUI/Source/ryControls/Sheng.Winform.Controls/ShengListView/ShengListViewItem.cs
鑫Intel c3d4ddf574 ### 2021-07-29更新
------
#### MyDbV4   V3.0.2107.2901
- *.[新增]新增支持计算文件MD5。
- *.[新增]部分DataProvider功能移植到DbExtension里,增加扩展性。
- *.[新增]UnixTimeToDateTime和JSTimeToDateTime新增支持long参数。
- *.[合并]合并RyWeb项目到MyDb里。

#### ryControlsV4    V3.0.2107.2901
  -  *.[改进]优化减少大量IDE警告和消息。
2021-07-29 17:09:32 +08:00

150 lines
3.4 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
namespace Sheng.Winform.Controls
{
/// <summary>
///
/// </summary>
public class ShengListViewItem
{
#region
#endregion
#region
private ShengListViewItemCollection _ownerCollection;
internal ShengListViewItemCollection OwnerCollection
{
get { return _ownerCollection; }
set { _ownerCollection = value; }
}
#endregion
#region
/// <summary>
///
/// </summary>
public int Index
{
get
{
return _ownerCollection.IndexOf(this);
}
}
private ShengListViewItemState _state = ShengListViewItemState.None;
/// <summary>
/// 该项当前的选中状态
/// </summary>
public ShengListViewItemState State
{
get { return _state; }
}
/// <summary>
///
/// </summary>
public bool Selected
{
get
{
return (_state & ShengListViewItemState.Selected) == ShengListViewItemState.Selected;
}
set
{
bool selected = Selected;
if (value)
_state |= ShengListViewItemState.Selected;
else
_state ^= ShengListViewItemState.Selected;
if (selected != Selected)
Render();
}
}
/// <summary>
///
/// </summary>
public bool Hovered
{
get
{
return (_state & ShengListViewItemState.Hovered) == ShengListViewItemState.Hovered;
}
set
{
bool hovered = Hovered;
if (value)
_state |= ShengListViewItemState.Hovered;
else
_state ^= ShengListViewItemState.Hovered;
if (hovered != Hovered)
Render();
}
}
/// <summary>
///
/// </summary>
public bool Focused
{
get
{
return (_state & ShengListViewItemState.Focused) == ShengListViewItemState.Focused;
}
set
{
bool focused = Focused;
if (value)
_state |= ShengListViewItemState.Focused;
else
_state ^= ShengListViewItemState.Focused;
if (focused != Focused)
Render();
}
}
private readonly object _value;
/// <summary>
/// 所绑定的对象
/// </summary>
public object Value
{
get { return _value; }
}
#endregion
#region
/// <summary>
///
/// </summary>
/// <param name="value"></param>
public ShengListViewItem(object value)
{
_value = value;
}
#endregion
#region
private void Render()
{
_ownerCollection.Owner.RenderItem(this);
}
#endregion
}
}