using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing;
using System.Collections; namespace MyCommanHelper
{
public class ControlStyleHelper
{
#region 字段变量
// Fields
public static int currentCol = -1;
public static bool sort; #endregion #region 网格视图
/// <summary>
/// 初始化网格视图样式
/// </summary>
/// <param name="dataGridView1">网格控件</param>
/// <param name="isReadOnly">是否只读</param>
/// <param name="isForbidSortColumn">是否禁止排序</param>
public static void InitDataGridView(DataGridView dataGridView1, bool isReadOnly, bool isForbidSortColumn)
{
dataGridView1.RowHeadersDefaultCellStyle.BackColor = SystemColors.GradientActiveCaption;
dataGridView1.ColumnHeadersDefaultCellStyle.BackColor = SystemColors.GradientActiveCaption;
dataGridView1.BackgroundColor = Color.White;
DataGridViewCellStyle style = new DataGridViewCellStyle();
style.SelectionBackColor = Color.FromArgb(0x80, 0x80, 0xff);
style.Alignment = DataGridViewContentAlignment.MiddleCenter;
dataGridView1.DefaultCellStyle = style;
dataGridView1.ClearSelection();
dataGridView1.AllowUserToAddRows = false;
dataGridView1.ReadOnly = isReadOnly;
if (isForbidSortColumn)
{
for (int i = 0; i < dataGridView1.Columns.Count; i++)
{
dataGridView1.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;
}
}
} #endregion #region 对话框
/// <summary>
/// 初始化对话框模式样式
/// </summary>
/// <param name="frm"></param>
public static void InitFormShowDialogStyle(Form frm)
{
frm.ShowInTaskbar = false;
frm.MaximizeBox = false;
frm.MinimizeBox = false;
frm.ShowIcon = false;
frm.StartPosition = FormStartPosition.CenterScreen;
frm.FormBorderStyle = FormBorderStyle.FixedDialog;
frm.ShowDialog();
} /// <summary>
/// 初始化对话框非模式样式
/// </summary>
/// <param name="frm"></param>
public static void InitFormShowStyle(Form frm)
{
frm.ShowInTaskbar = true;
frm.MaximizeBox = false;
frm.MinimizeBox = false;
frm.ShowIcon = false;
frm.StartPosition = FormStartPosition.CenterScreen;
frm.FormBorderStyle = FormBorderStyle.FixedDialog;
frm.Show();
} #endregion #region 列表视图 /// <summary>
/// 初始化列表视图样式
/// </summary>
/// <param name="listView1">列表视图控件</param>
/// <param name="isCheckBox">是否显示复选框</param>
public static void InitListViewStyle(ListView listView1, bool isCheckBox)
{
listView1.View = View.Details;
listView1.ShowItemToolTips = true;
listView1.GridLines = true;
listView1.FullRowSelect = true;
listView1.CheckBoxes = isCheckBox;
} /// <summary>
/// 对列排序并标示标识
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public static void SortListViewColumn(object sender, ColumnClickEventArgs e)
{
string str3;
char ch = '▼';
string str = ch.ToString().PadLeft(4, ' ');
ch = '▲';
string str2 = ch.ToString().PadLeft(4, ' ');
ListView view = sender as ListView;
if (!sort)
{
sort = true;
str3 = view.Columns[e.Column].Text.TrimEnd(new char[] { '▼', '▲', ' ' });
view.Columns[e.Column].Text = str3 + str2;
}
else if (sort)
{
sort = false;
str3 = view.Columns[e.Column].Text.TrimEnd(new char[] { '▼', '▲', ' ' });
view.Columns[e.Column].Text = str3 + str;
}
if (e.Column == (view.ListViewItemSorter as ListViewColumnSorter).SortColumn)
{
if ((view.ListViewItemSorter as ListViewColumnSorter).Order == SortOrder.Ascending)
{
(view.ListViewItemSorter as ListViewColumnSorter).Order = SortOrder.Descending;
}
else
{
(view.ListViewItemSorter as ListViewColumnSorter).Order = SortOrder.Ascending;
}
}
else
{
(view.ListViewItemSorter as ListViewColumnSorter).SortColumn = e.Column;
(view.ListViewItemSorter as ListViewColumnSorter).Order = SortOrder.Ascending;
}
((ListView)sender).Sort();
} /// <summary>
/// 内部类
/// Nested Types
/// </summary>
public class ListViewColumnSorter : IComparer
{ #region 变量 // Fields
private int ColumnToSort = 0;
private CaseInsensitiveComparer ObjectCompare = new CaseInsensitiveComparer();
private SortOrder OrderOfSort = SortOrder.None; #endregion #region 属性 // Properties
public SortOrder Order
{
get
{
return this.OrderOfSort;
}
set
{
this.OrderOfSort = value;
}
} public int SortColumn
{
get
{
return this.ColumnToSort;
}
set
{
this.ColumnToSort = value;
}
} #endregion #region 方法 // Methods
/// <summary>
/// 依据double类型列的值比较
/// </summary>
/// <param name="x">ListViewItem</param>
/// <param name="y">ListViewItem</param>
/// <returns></returns>
public int Compare(object x, object y)
{
ListViewItem item = (ListViewItem)x;
ListViewItem item2 = (ListViewItem)y;
int num = this.ObjectCompare.Compare(ConvertHelper.ObjectToDouble(item.SubItems[this.ColumnToSort].Text), ConvertHelper.ObjectToDouble(item2.SubItems[this.ColumnToSort].Text));
if (this.OrderOfSort == SortOrder.Ascending)
{
return num;
}
if (this.OrderOfSort == SortOrder.Descending)
{
return -num;
}
return 0;
}
#endregion }
#endregion }
}

C#:设置控件样式(待补充)的更多相关文章

  1. UWP入门(四)--设置控件样式

    原文:UWP入门(四)--设置控件样式 官方定义:可以使用 XAML 框架通过多种方式自定义应用的外观. 通过样式可以设置控件属性,并重复使用这些设置,以便保持多个控件具有一致的外观. 可分享至不同e ...

  2. QSS基础-设置控件样式

    1.QSS基础-设置同类控件样式'''QSS基础:Qt Style SheetQt样式表用于设置控件的样式和风格(比如控件的背景色,字体颜色,字体大小等)和CSS的功能比较相似,功能相似''' fro ...

  3. UWP 设置控件样式四种方法

    1.隐式方法,通过仅指定 Style 的 TargetType.(设置全部的Button样式) <Page.Resources > <Style TargetType="B ...

  4. qt 设置程序控件样式

    1. 以资源文件的形式设置控件样式 QFiledata(QString(":/style.qss")); QStringqssFile; if(data.open(QFile::R ...

  5. WPF:DataTemplateSelector设置控件不同的样式

    原文 WPF:DataTemplateSelector设置控件不同的样式 最近想实现这么个东西,一个ListBox, 里面的ListBoxItem可能是文本框.下拉框.日期选择控件等等. 很自然的想到 ...

  6. IrisSkin 单独控件样式设置 不使用皮肤样式

    可以设置控件的Tag为this.skinEngine1.DisableTag [DefaultValue()] [Description("If you do not want skin t ...

  7. WPF设置控件获取键盘焦点时的样式FocusVisualStyle

    控件获取焦点除了用鼠标外,可以通过键盘来获取,比如Tab键或者方向键等,需要设置控件获取键盘焦点时的样式,可以通过设置FrameworkElemnt.FocusVisualStyle属性, 因为几乎所 ...

  8. WPF设置全局控件样式

    原文:WPF设置全局控件样式 方法: 在资源文件APP.XAML中添加如下资源 <Application x:Class="_360UI.App" xmlns="h ...

  9. WPF 自定义TabControl控件样式

    一.前言 程序中经常会用到TabControl控件,默认的控件样式很普通.而且样式或功能不一定符合我们的要求.比如:我们需要TabControl的标题能够居中.或平均分布:或者我们希望TabContr ...

随机推荐

  1. HDU 4579 Random Walk (解方程组)

    Random Walk Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 65535/65536 K (Java/Others)Total ...

  2. Wifi模块的工作原理

    http://www.wifitop1.com/news/content-98.html 在无线网络领域里面,无线wifi是最火的名词.对于串口wifi模块的工作是什么呢?串口wifi模块又有什么功能 ...

  3. Read UNIQUE ID and flash size method for stm32

    /* 读取stm32的unique id 与 flash size */ /* func: unsigned int Read_UniqueID_Byte(unsigned char offset) ...

  4. Time Step Too Small in Multisim

    http://digital.ni.com/public.nsf/allkb/4B99B2CD6C0C3B6A86257205005D58E0 Error: Time Step Too Small i ...

  5. 程序猿怎样变身IT讲师

    我以前写过一篇文章,"一张图道尽程序猿的出路",里面有一张图: 这张图随着"一张图道尽程序猿的出路"这篇文章,以前被伯乐在线.docin(豆丁网).IT面试.J ...

  6. 【转】C与CPP后缀的文件在编译时的区别

                                                            本文出处连接, by Ray FAN(ielnaf@qq.com)            ...

  7. OpenERP实施记录(14):收款处理

    本文是<OpenERP实施记录>系列文章的一部分. 1. 在前面的文章中,销售订单确认时自动生成了客户发票,可以在 会计 > 客户 > 客户发票 查询,状态为"草稿& ...

  8. 第一篇 对Javascript中原型的深入理解

      理解原型对象 在Javascript中不管什么时候,仅仅要创建一个新的函数,就会依据一组特定的规则为该函数创建一个prototype属性,这个属性指向函数的原型对象(这个对象的用途是包括能够有特定 ...

  9. pytest文档8-html报告报错截图+失败重跑

    前言 做web自动化的小伙伴应该都希望在html报告中展示失败后的截图,提升报告的档次,pytest-html也可以生成带截图的报告. conftest.py 1.失败截图可以写到conftest.p ...

  10. Java 3D游戏引擎——JME(java Monkey Engine)

    转自:http://bbs.gameres.com/forum.php?mod=viewthread&tid=180732 JME(java Monkey Engine),一个非常棒的Java ...