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. Spring ListFactoryBean实例

    ListFactoryBean”类为开发者提供了一种在Spring的bean配置文件中创建一个具体的列表集合类(ArrayList和LinkedList). 这里有一个 ListFactoryBean ...

  2. WPF ClickOnce应用程序IIS部署发布攻略

    WPF程序非常适合公司内网使用,唯一缺点就是客户端要安装.net框架4.0.优势也很明显,在客户端运行的是一个WinForm程序,自动下载,可以充分利用客户机的性能,而且是以当前的Windows用户权 ...

  3. redis主键失效机制

    Memcached删除主键的方式与Redis有何异同 首先,Memcached 在删除失效主键时也是采用的消极方法,即 Memcached 内部也不会监视主键是否失效,而是在通过 Get 访问主键时才 ...

  4. RxJava 中文文档

    https://mcxiaoke.gitbooks.io/rxdocs/content/Subject.html

  5. LaTeX排版设置图表的位置 Positioning images and tables

    Positioning images and tables LATEX is an editing tool that takes care of the format so you only hav ...

  6. Oracle sql loader 使用案例

    Listing 1: ---------------------- dir *.csv type abc.csv sqlplus scott/tiger@orcl create table emp1 ...

  7. go语言基础之全局变量

    1.全局变量 示例: package main import "fmt" func test() { fmt.Println("test a =", a) } ...

  8. js定义对象并赋值

    1.可以通过  var ratio = {}; ratio.low = 70; ratio.high = 90; ratio.scale = 0.2; 2.可以通过 var obj = new Obj ...

  9. c:forEach实现换行

    Map<String,String> map = new TreeMap<String,String>(); map.put("key1", "v ...

  10. 怎样更爽地看PDF杂志

    下载了一些PDF的杂志,想着要是全屏双页显示,应该是很爽的,但是,下载了应该foxit reader,还是遇到一些问题: 1.全屏:F11即可 2.全屏后不双页:在选项中,"全屏" ...