DotNet 4.8.1 build of DotNetBar
This commit is contained in:
@@ -0,0 +1,143 @@
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace DevComponents.SuperGrid.Design
|
||||
{
|
||||
[ToolboxItem(false)]
|
||||
public class ImageListBox : ListBox
|
||||
{
|
||||
#region Private variables
|
||||
|
||||
private ImageList _ImageList;
|
||||
|
||||
#endregion
|
||||
|
||||
public ImageListBox()
|
||||
{
|
||||
MinimumSize = new Size(20, 20);
|
||||
IntegralHeight = true;
|
||||
|
||||
DrawMode = DrawMode.OwnerDrawVariable;
|
||||
}
|
||||
|
||||
#region Public properties
|
||||
|
||||
public ImageList ImageList
|
||||
{
|
||||
get { return (_ImageList); }
|
||||
set { _ImageList = value; }
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region OnMeasureItem
|
||||
|
||||
protected override void OnMeasureItem(MeasureItemEventArgs e)
|
||||
{
|
||||
base.OnMeasureItem(e);
|
||||
|
||||
e.ItemWidth += 22;
|
||||
|
||||
if (e.ItemHeight < 20)
|
||||
e.ItemHeight = 20;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region OnDrawItem
|
||||
|
||||
protected override void OnDrawItem(DrawItemEventArgs e)
|
||||
{
|
||||
Graphics g = e.Graphics;
|
||||
|
||||
e.DrawBackground();
|
||||
|
||||
if (e.Index < Items.Count)
|
||||
{
|
||||
Rectangle r = e.Bounds;
|
||||
r.Width = 18;
|
||||
|
||||
if (r.Height > 18)
|
||||
{
|
||||
r.Y += (r.Height - 18)/2;
|
||||
r.Height = 18;
|
||||
}
|
||||
|
||||
ImageListBoxItem item = (ImageListBoxItem) Items[e.Index];
|
||||
|
||||
Image image = (uint) item.ImageIndex < _ImageList.Images.Count
|
||||
? _ImageList.Images[item.ImageIndex]
|
||||
: null;
|
||||
|
||||
if (image != null)
|
||||
g.DrawImage(image, r);
|
||||
|
||||
g.DrawRectangle(Pens.Black, r);
|
||||
|
||||
using (Brush br = new SolidBrush(e.ForeColor))
|
||||
{
|
||||
using (StringFormat sf = new StringFormat())
|
||||
{
|
||||
sf.Alignment = StringAlignment.Near;
|
||||
sf.LineAlignment = StringAlignment.Center;
|
||||
|
||||
r = e.Bounds;
|
||||
r.X += 30;
|
||||
r.Width -= 30;
|
||||
|
||||
g.DrawString(item.Text, e.Font, br, r, sf);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
public class ImageListBoxItem
|
||||
{
|
||||
#region Private variables
|
||||
|
||||
private string _Text;
|
||||
private int _ImageIndex;
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
public ImageListBoxItem(string text, int index)
|
||||
{
|
||||
Text = text;
|
||||
ImageIndex = index;
|
||||
}
|
||||
|
||||
public ImageListBoxItem(string text)
|
||||
: this(text, -1)
|
||||
{
|
||||
}
|
||||
|
||||
public ImageListBoxItem()
|
||||
: this("", -1)
|
||||
{
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Public properties
|
||||
|
||||
public int ImageIndex
|
||||
{
|
||||
get { return (_ImageIndex); }
|
||||
set { _ImageIndex = value; }
|
||||
}
|
||||
|
||||
public string Text
|
||||
{
|
||||
get { return (_Text); }
|
||||
set { _Text = value; }
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user