dynamiclistrow.cs
来自「SharpDevelop2.0.0 c#开发免费工具」· CS 代码 · 共 109 行
CS
109 行
// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <owner name="Daniel Grunwald" email="daniel@danielgrunwald.de"/>
// <version>$Revision: 915 $</version>
// </file>
using System;
using System.Diagnostics;
using System.Windows.Forms;
namespace ICSharpCode.SharpDevelop.Gui.TreeGrid
{
public class DynamicListRow
{
int height = 16;
public int Height {
get {
return height;
}
set {
if (value < 2)
throw new ArgumentOutOfRangeException("value", value, "value must be at least 2");
if (height != value) {
height = value;
OnHeightChanged(EventArgs.Empty);
}
}
}
public event EventHandler HeightChanged;
protected virtual void OnHeightChanged(EventArgs e)
{
if (HeightChanged != null) {
HeightChanged(this, e);
}
}
public event EventHandler<DynamicListEventArgs> Shown;
public event EventHandler<DynamicListEventArgs> Hidden;
protected virtual void OnShown(DynamicListEventArgs e)
{
if (Shown != null) {
Shown(this, e);
}
}
protected virtual void OnHidden(DynamicListEventArgs e)
{
if (Hidden != null) {
Hidden(this, e);
}
}
internal void NotifyListVisibilityChange(DynamicList list, bool visible)
{
if (visible)
OnShown(new DynamicListEventArgs(list));
else
OnHidden(new DynamicListEventArgs(list));
}
/// <summary>
/// Fired when any item has changed.
/// </summary>
public event EventHandler ItemChanged;
protected virtual void OnItemChanged(EventArgs e)
{
if (ItemChanged != null) {
ItemChanged(this, e);
}
}
internal void RaiseItemChanged(DynamicListItem item)
{
OnItemChanged(EventArgs.Empty);
}
DynamicListItem[] items = new DynamicListItem[10];
public DynamicListItem this[int columnIndex] {
[DebuggerStepThrough]
get {
if (columnIndex < 0)
throw new ArgumentOutOfRangeException("columnIndex", columnIndex, "columnIndex must be >= 0");
if (columnIndex > DynamicList.MaxColumnCount)
throw new ArgumentOutOfRangeException("columnIndex", columnIndex, "columnIndex must be <= " + DynamicList.MaxColumnCount);
if (columnIndex >= items.Length) {
Array.Resize(ref items, columnIndex * 2 + 1);
}
DynamicListItem item = items[columnIndex];
if (item == null) {
items[columnIndex] = item = CreateItem();
}
return item;
}
}
protected virtual DynamicListItem CreateItem()
{
return new DynamicListItem(this);
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?