[DevExpress控件应用]XtraGrid: 改变当前单元格外框的颜色
来源:互联网 发布:java监控服务器 ssh 编辑:程序博客网 时间:2024/06/02 12:57
代码:
using DevExpress.Utils.Paint;
public class CustomXPaint : XPaint
...{
public override void DrawFocusRectangle(Graphics g, Rectangle rect, Color foreColor, Color backColor)
...{
if (CanDraw(rect) == false)
return;
Brush brush = Brushes.Red; //红色外框
g.FillRectangle(brush, new Rectangle(rect.X, rect.Y, 1, rect.Height - 1)); // left
g.FillRectangle(brush, new Rectangle(rect.X, rect.Y, rect.Width - 1, 1)); // top
g.FillRectangle(brush, new Rectangle(rect.Right - 1, rect.Y, 1, rect.Height - 1)); // right
g.FillRectangle(brush, new Rectangle(rect.X, rect.Bottom - 1, rect.Width, 1)); // bottom
}
}
public partial class Form1 : Form
...{
构造函数#region 构造函数
public Form1()
...{
InitializeComponent();
}
#endregion
画面激活时#region 画面激活时
void Form1_Activated(object sender, EventArgs e)
...{
//设自定义边框
FieldInfo fi = typeof(XPaint).GetField("graphics", BindingFlags.Static | BindingFlags.NonPublic);
fi.SetValue(null, new CustomXPaint());
}
#endregion
画面非激活时#region 画面非激活时
void Form1_Deactivate(object sender, EventArgs e)
...{
//恢复原样
FieldInfo fi = typeof(XPaint).GetField("graphics", BindingFlags.Static | BindingFlags.NonPublic);
fi.SetValue(null, new XPaint());
}
#endregion
}
public class CustomXPaint : XPaint
...{
public override void DrawFocusRectangle(Graphics g, Rectangle rect, Color foreColor, Color backColor)
...{
if (CanDraw(rect) == false)
return;
Brush brush = Brushes.Red; //红色外框
g.FillRectangle(brush, new Rectangle(rect.X, rect.Y, 1, rect.Height - 1)); // left
g.FillRectangle(brush, new Rectangle(rect.X, rect.Y, rect.Width - 1, 1)); // top
g.FillRectangle(brush, new Rectangle(rect.Right - 1, rect.Y, 1, rect.Height - 1)); // right
g.FillRectangle(brush, new Rectangle(rect.X, rect.Bottom - 1, rect.Width, 1)); // bottom
}
}
public partial class Form1 : Form
...{
构造函数#region 构造函数
public Form1()
...{
InitializeComponent();
}
#endregion
画面激活时#region 画面激活时
void Form1_Activated(object sender, EventArgs e)
...{
//设自定义边框
FieldInfo fi = typeof(XPaint).GetField("graphics", BindingFlags.Static | BindingFlags.NonPublic);
fi.SetValue(null, new CustomXPaint());
}
#endregion
画面非激活时#region 画面非激活时
void Form1_Deactivate(object sender, EventArgs e)
...{
//恢复原样
FieldInfo fi = typeof(XPaint).GetField("graphics", BindingFlags.Static | BindingFlags.NonPublic);
fi.SetValue(null, new XPaint());
}
#endregion
}
如果是只读的查询表格,可以添加如下的代码:
画面加载时#region 画面加载时
private void FormProjectBrowser_Load(object sender, EventArgs e)
...{
gridView1.OptionsBehavior.Editable = false;
gridView1.OptionsCustomization.AllowFilter = false;
gridView1.OptionsSelection.EnableAppearanceFocusedRow = true;
gridView1.OptionsSelection.EnableAppearanceFocusedCell = false;
gridView1.FocusRectStyle = DrawFocusRectStyle.RowFocus;
gridView1.Appearance.FocusedRow.BackColor = Color.PowderBlue;
gridView1.Appearance.FocusedRow.ForeColor = Color.Red;
//gridView1.Appearance.FocusedRow.Font = new Font(gridView1.Appearance.FocusedRow.Font, FontStyle.Bold);
gridView1.Appearance.HideSelectionRow.Assign(gridView1.Appearance.FocusedRow);
//...
}
private void FormProjectBrowser_Load(object sender, EventArgs e)
...{
gridView1.OptionsBehavior.Editable = false;
gridView1.OptionsCustomization.AllowFilter = false;
gridView1.OptionsSelection.EnableAppearanceFocusedRow = true;
gridView1.OptionsSelection.EnableAppearanceFocusedCell = false;
gridView1.FocusRectStyle = DrawFocusRectStyle.RowFocus;
gridView1.Appearance.FocusedRow.BackColor = Color.PowderBlue;
gridView1.Appearance.FocusedRow.ForeColor = Color.Red;
//gridView1.Appearance.FocusedRow.Font = new Font(gridView1.Appearance.FocusedRow.Font, FontStyle.Bold);
gridView1.Appearance.HideSelectionRow.Assign(gridView1.Appearance.FocusedRow);
//...
}
达到行选择的效果。(效果图上传不了)
- [DevExpress控件应用]XtraGrid: 改变当前单元格外框的颜色
- DevExpress.XtraGrid的颜色功能
- DevExpress公司的xtraGrid控件
- DevExpress xtraGrid控件的使用
- [DevExpress控件应用]XtraGrid: 实现按钮列
- DevExpress.XtraGrid.Views.Grid 的颜色设置
- DevExpress.XtraGrid.GridControl 控件的使用
- DevExpress控件XtraGrid的Master-Detail用法
- DevExpress.XtraGrid.Views 设置指定行的背景颜色
- 基于DevExpress XtraGrid控件实现的凭证式录入
- DevExpress.XtraGrid.GridControl控件获取选中行某列的值
- DevExpress.XtraGrid.GridControl控件获取选中行某列的值
- DevExpress.XtraGrid的统计功能
- DevExpress.XtraGrid.GridControl (表格控件使用说明)
- DevExpress.XtraGrid.GridControl GridView 根据条件动态改变 RepositoryItemButtonEdit 的Caption
- DevExpress XtraGrid 不用改变焦点就保存当前行的值到DataSource
- DevExpress-XtraGrid
- DevExpress.XtraGrid
- COM组件的使用
- Javascript 表单 Select 添加 删除 子项目 操作
- 关于文件夹的手动隐藏和恢复
- 新书报告-《软件质量保证和管理》
- 由于台湾地震,境外网站无法访问
- [DevExpress控件应用]XtraGrid: 改变当前单元格外框的颜色
- 我自己写的第一个游戏--贪吃蛇(windows下c语言实现)
- rss
- 自己写的成绩管理系统(c语言实现)
- 存取程序状态几种方法--Java I/O应用
- 关于FTP的PORT命令
- directshow 模型分析
- 三极管特性
- 汉诺塔非递归实现,并用图像演示