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. Fixed DC-DC Regulator Output Uses A Digitally Controlled Potentiometer

    http://electronicdesign.com/print/passives/fixed-dc-dc-regulator-output-uses-digitally-controlled-po ...

  2. PAT 1033. To Fill or Not to Fill (贪心)

    PAT-A的最后一题,最终做出来了... 是贪心,通过局部最优获得全局最优. 1. 将加油站按距离升序排序 2. 记录当前所在的加油站index,存有的汽油,花费.向后遍历全部 该站可抵达的加油站 3 ...

  3. MySQL year函数

    mysql的日期函数,示例如下:

  4. Java效率工具之Lombok

    参考: http://www.54tianzhisheng.cn/2018/01/09/lombok/ https://zhuanlan.zhihu.com/p/32779910

  5. iOS:二叉树多级表格的使用,使用三方库TreeTableView-master实现对json解析数据的递归遍历整理成树状结构

    在项目中,我们有时需要使用二叉树来实现多级表格的递归遍历查询,如果对二叉树比较懂,那么写起来其实也不费事,为了节省开发时间,下面介绍一下第三方库TreeTableView-master,这个三方库上给 ...

  6. C++对C的改进(2)

    本文地址:http://www.cnblogs.com/archimedes/p/cpp-change2.html,转载请注明源地址 区别一:原型声明的区别 原型声明的概念: 函数要先定义再使用,如果 ...

  7. XMPPFrameWork IOS 开发(三)登录

    原始地址:XMPPFrameWork IOS 开发(三) XMPP中常用对象们: XMPPStream:xmpp基础服务类 XMPPRoster:好友列表类 XMPPRosterCoreDataSto ...

  8. (剑指Offer)面试题9:斐波那契数列

    题目: 现在要求输入一个整数n,请你输出斐波那契数列的第n项. 斐波那契数列的定义: f(0)=0;f(1)=1; f(n)=f(n-1)+f(n-2) 思路: 1.递归: 根据递推公式来实现 优点: ...

  9. Nginx安装部署(反向代理与负载均衡)

    一.下载安装Nginx(本文环境为windows xp 32bit环境) 下载地址:http://files.cnblogs.com/likehua/nginx-1.0.11.zip 解压nginx- ...

  10. 文件同步程序,Python和C写的DLL

    #coding:utf-8 from ctypes import * from FileCopy import * def GetFilePathList(FilePath): dll = CDLL( ...