using DevComponents.DotNetBar.Controls;
|
/********************************************************************************
|
|
** auth: DBS
|
|
** date: 2019/3/6 10:58:50
|
|
** desc: 尚未编写描述
|
|
** Ver.: V1.0.0
|
|
*********************************************************************************/
|
using System;
|
using System.Collections.Generic;
|
using System.Drawing;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
using System.Windows.Forms;
|
|
namespace HH.WMS.Client.CustomControl
|
{
|
public class DataGridViewDisableButtonColumn : DataGridViewButtonXColumn
|
{
|
public DataGridViewDisableButtonColumn()
|
{
|
this.CellTemplate = new DataGridViewDisableButtonXCell();
|
}
|
}
|
|
public class DataGridViewDisableButtonXCell : DataGridViewButtonXCell
|
{
|
private bool enabledValue;
|
public bool Enabled
|
{
|
get
|
{
|
return enabledValue;
|
}
|
set
|
{
|
enabledValue = value;
|
}
|
}
|
|
public override object Clone()
|
{
|
DataGridViewDisableButtonXCell cell =
|
(DataGridViewDisableButtonXCell)base.Clone();
|
cell.Enabled = this.Enabled;
|
return cell;
|
}
|
|
public DataGridViewDisableButtonXCell()
|
{
|
this.enabledValue = true;
|
}
|
|
protected override void Paint(Graphics graphics,
|
Rectangle clipBounds, Rectangle cellBounds, int rowIndex,
|
DataGridViewElementStates elementState, object value,
|
object formattedValue, string errorText,
|
DataGridViewCellStyle cellStyle,
|
DataGridViewAdvancedBorderStyle advancedBorderStyle,
|
DataGridViewPaintParts paintParts)
|
{
|
if (!this.enabledValue)
|
{
|
if ((paintParts & DataGridViewPaintParts.Background) ==
|
DataGridViewPaintParts.Background)
|
{
|
SolidBrush cellBackground =
|
new SolidBrush(cellStyle.BackColor);
|
graphics.FillRectangle(cellBackground, cellBounds);
|
cellBackground.Dispose();
|
}
|
|
if ((paintParts & DataGridViewPaintParts.None) ==
|
DataGridViewPaintParts.None)
|
{
|
PaintBorder(graphics, clipBounds, cellBounds, cellStyle,
|
advancedBorderStyle);
|
}
|
Rectangle buttonArea = cellBounds;
|
Rectangle buttonAdjustment =
|
this.BorderWidths(advancedBorderStyle);
|
buttonArea.X += buttonAdjustment.X;
|
buttonArea.Y += buttonAdjustment.Y;
|
buttonArea.Height -= buttonAdjustment.Height;
|
buttonArea.Width -= buttonAdjustment.Width;
|
ButtonRenderer.DrawButton(graphics, buttonArea,
|
System.Windows.Forms.VisualStyles.PushButtonState.Disabled);
|
|
if (this.FormattedValue is String)
|
{
|
TextRenderer.DrawText(graphics,
|
(string)this.FormattedValue,
|
this.DataGridView.Font,
|
buttonArea, SystemColors.GrayText);
|
}
|
}
|
else
|
{
|
base.Paint(graphics, clipBounds, cellBounds, rowIndex,
|
elementState, value, formattedValue, errorText,
|
cellStyle, advancedBorderStyle, paintParts);
|
}
|
}
|
}
|
}
|