gridview属性_datagridview设置列宽
using System; using System.Collections.Generic; using System.Text; using System.Drawing; using System.Windows.Forms;
class SetDataViewGirdStyle { private static Color _mLinearBeginColor; private static Color _mLinearEndColor; private static Color _mBorderColor; private static bool _IsDrawing2D;
public SetDataViewGirdStyle() { }
/// <summary> /// 设置DataGirdView显示颜色 /// </summary> /// <param name=”dgv”>目标DataGirdView对象</param> /// <param name=”BackgroundColor”>DataGirdView背景色</param> /// <param name=”SelectionBackColor”>选定行的背景色</param> /// <param name=”SelectionForeColor”>选定行的前景色</param> /// <param name=”CellSelectionBackColor”>单元格被选定时的背景色</param> /// <param name=”RowBackColor”>默认行背景色</param> /// <param name=”ImparRowBackColor”>默认奇数行背景色</param> /// <param name=”IsDrawRowHeaders”>是否绘制行标题颜色</param> /// <param name=”IsDrawing2D”>是否启用二维绘制行标题颜色(渐变色)</param> /// <param name=”mLinearBeginColor”>渐变色起始颜色</param> /// <param name=”mLinearEndColor”>渐变色结束颜色</param> /// <param name=”mBorderColor”>边框颜色</param> public static void SetDgvViewColor(DataGridView dgv, Color BackgroundColor, Color SelectionBackColor, Color SelectionForeColor, Color CellSelectionBackColor, Color RowBackColor, Color ImparRowBackColor, bool IsDrawRowHeaders, bool IsDrawing2D, Color mLinearBeginColor, Color mLinearEndColor, Color mBorderColor) { dgv.BackgroundColor = BackgroundColor; dgv.DefaultCellStyle.SelectionBackColor = SelectionBackColor; dgv.DefaultCellStyle.SelectionForeColor = SelectionForeColor; dgv.RowHeadersDefaultCellStyle.SelectionBackColor = CellSelectionBackColor; dgv.RowsDefaultCellStyle.BackColor = RowBackColor; dgv.AlternatingRowsDefaultCellStyle.BackColor = ImparRowBackColor; if (IsDrawRowHeaders) { _mLinearBeginColor = mLinearBeginColor; _mLinearEndColor = mLinearEndColor; _mBorderColor = mBorderColor; _IsDrawing2D = IsDrawing2D; dgv.CellPainting += new DataGridViewCellPaintingEventHandler(dgv_CellPainting); } }
private static void CellPainting(DataGridViewCellPaintingEventArgs e) { Color mLinearColor1 = _mLinearBeginColor; Color mLinearColor2 = _mLinearEndColor; Color mGridColor = _mBorderColor;
System.Drawing.StringFormat StrFormat = new StringFormat(); Rectangle Rect = new Rectangle(e.CellBounds.X – 1, e.CellBounds.Y, e.CellBounds.Width, e.CellBounds.Height – 1); System.Drawing.Drawing2D.LinearGradientBrush LinearGradientBrush = null; if (_IsDrawing2D) { LinearGradientBrush = new System.Drawing.Drawing2D.LinearGradientBrush(Rect, mLinearColor1, mLinearColor2, System.Drawing.Drawing2D.LinearGradientMode.Vertical); } else { LinearGradientBrush = new System.Drawing.Drawing2D.LinearGradientBrush(Rect, mLinearColor1, mLinearColor1, System.Drawing.Drawing2D.LinearGradientMode.Vertical); }
try { if (e.RowIndex == -1 || e.ColumnIndex == -1) { e.Graphics.FillRectangle(LinearGradientBrush, Rect); e.Graphics.DrawRectangle(new Pen(mGridColor), Rect); e.PaintContent(e.CellBounds); e.Handled = true; } } catch (Exception ex) { throw new Exception(ex.Message); } finally { if (StrFormat != null) StrFormat.Dispose(); if (LinearGradientBrush != null) LinearGradientBrush.Dispose(); } }
private static void dgv_CellPainting(object sender, DataGridViewCellPaintingEventArgs e) { CellPainting(e); }
/// <summary> /// 设置DataGirdView样式 /// </summary> /// <param name=”dgv”>目标DataGirdView对象</param> /// <param name=”DockStyleType”>指定控键停靠的位置和方式</param> /// <param name=”BorderStyleType”>指定控键边框样式</param> /// <param name=”IsOrderCol”>指定用户是否可手动调整列位置</param> /// <param name=”IsReadOnly”>指定用户是否可编辑单元格</param> /// <param name=”IsMultiSelect”>指定用户是否可以选择多行</param> /// <param name=”IsResizeCol”>指定用户是否可以自己调整列大小(数据量大时请慎用)</param> /// <param name=”IsResizeRow”>指定用户是否可以自己调整行大小(数据量大时请慎用)</param> /// <param name=”IsRowHeaders”>是否显示行标题</param> /// <param name=”RowHeadersWidth”>行标题显示的宽度(当IsRowHeaders=True时HeadersWidth必须大于或等于4;当HeadersWidth大于或等于24时出现行标箭头)</param> /// <param name=”RowCopy”>行值复制模式</param> /// <param name=”IsShowIndex”>是否在行标题显示序号</param> public static void SetDgvViewStyle(DataGridView dgv, DockStyle DockStyleType, BorderStyle BorderStyleType, bool IsOrderCol, bool IsReadOnly, bool IsMultiSelect, bool IsResizeCol, bool IsResizeRow, bool IsRowHeaders, int RowHeadersWidth, DataGridViewClipboardCopyMode RowCopy, bool IsShowIndex) { dgv.Dock = DockStyleType; dgv.BorderStyle = BorderStyleType; dgv.AllowUserToAddRows = false; dgv.AllowUserToDeleteRows = false; dgv.AllowUserToOrderColumns = IsOrderCol; dgv.ReadOnly = !IsReadOnly; dgv.SelectionMode = DataGridViewSelectionMode.FullRowSelect; dgv.MultiSelect = IsMultiSelect; dgv.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None; dgv.AllowUserToResizeColumns = IsResizeCol; if (IsResizeCol) { dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.None; } else { dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; } dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing; dgv.AllowUserToResizeRows = IsResizeRow; if (IsResizeRow) { dgv.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None; } else { dgv.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells; } dgv.RowHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft; dgv.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.EnableResizing; dgv.DefaultCellStyle.WrapMode = DataGridViewTriState.True; dgv.RowHeadersVisible = IsRowHeaders; if (dgv.RowHeadersVisible && RowHeadersWidth < 4) { throw new Exception(“RowHeadersWidth Error”); } dgv.RowHeadersWidth = RowHeadersWidth; dgv.ClipboardCopyMode = RowCopy; if (IsShowIndex) dgv.RowPostPaint += new DataGridViewRowPostPaintEventHandler(dgv_RowPostPaint); }
private static void dgv_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e) { Rectangle rectangle = new Rectangle(e.RowBounds.Location.X, e.RowBounds.Location.Y, ((DataGridView)sender).RowHeadersWidth, e.RowBounds.Height); TextRenderer.DrawText(e.Graphics, (e.RowIndex + 1).ToString(), ((DataGridView)sender).RowHeadersDefaultCellStyle.Font, rectangle, ((DataGridView)sender).RowHeadersDefaultCellStyle.ForeColor, TextFormatFlags.VerticalCenter | TextFormatFlags.Right); } }
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/190012.html原文链接:https://javaforall.cn
相关文章
- html鼠标样式怎么去掉,CSS鼠标样式cursor属性怎么设置
- android declare-styleable 和style,Android 关于declare-styleable属性的写法….
- 【说站】css中transition的四种属性
- 控件anchor和dock属性_控件的常用属性
- CSS属性font-smoothing
- CSS font-family 属性设置字体
- 【数据挖掘】决策树算法简介 ( 决策树模型 | 模型示例 | 决策树算法性能要求 | 递归创建决策树 | 树根属性选择 )
- 【MATLAB】基本绘图 ( 图形属性 | 绘图对象 | 图形属性界面 | 坐标轴属性 | 线属性 | 文本属性 | 图形属性设置策略 )
- 【Android Gradle 插件】PackagingOptions 配置 ③ ( merges 属性配置 | excludes 属性配置 )
- 【Unity3D】游戏物体操作 ③ ( 旋转操作 | 旋转工具 | 基本旋转 | 设置旋转属性 | 增量旋转 | 缩放操作 | 轴向缩放 | 整体缩放 | 操作工具切换 | 操作模式切换 )
- 由 Opacity 属性引发的层叠问题思考与解决
- input标签设置disabled=”disabled”属性的效果详解编程语言
- JSP Response.setAttibute()方法:设置指定名称的属性值
- Hibernate default_batch_fetch_size属性:设置默认抓取数量
- 深入Oracle:修改列属性的技术指南(oracle修改列的属性)
- Oracle用户权限及其属性深入探讨(oracle用户的属性)
- HTML 全局属性
- 解决方法调整MySQL的字符集和字段属性设置(mysql不显示字段宽度)
- javascriptcssfloat属性的特殊写法
- C#反射技术的简单操作(读取和设置类的属性)
- javascript学习笔记(二十)获得和设置元素的特性(属性)
- JQuery设置和去除disabled属性的5种方法总结
- jQuery属性选择器element[herf*='value']使用示例
- androidTweenAnimation属性设置方法实例
- 浅析js设置控件的readonly与enabled属性问题
- iis6网站属性没有asp.net选项卡的解决办法