C#:设置控件样式(待补充)
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#:设置控件样式(待补充)的更多相关文章
- UWP入门(四)--设置控件样式
原文:UWP入门(四)--设置控件样式 官方定义:可以使用 XAML 框架通过多种方式自定义应用的外观. 通过样式可以设置控件属性,并重复使用这些设置,以便保持多个控件具有一致的外观. 可分享至不同e ...
- QSS基础-设置控件样式
1.QSS基础-设置同类控件样式'''QSS基础:Qt Style SheetQt样式表用于设置控件的样式和风格(比如控件的背景色,字体颜色,字体大小等)和CSS的功能比较相似,功能相似''' fro ...
- UWP 设置控件样式四种方法
1.隐式方法,通过仅指定 Style 的 TargetType.(设置全部的Button样式) <Page.Resources > <Style TargetType="B ...
- qt 设置程序控件样式
1. 以资源文件的形式设置控件样式 QFiledata(QString(":/style.qss")); QStringqssFile; if(data.open(QFile::R ...
- WPF:DataTemplateSelector设置控件不同的样式
原文 WPF:DataTemplateSelector设置控件不同的样式 最近想实现这么个东西,一个ListBox, 里面的ListBoxItem可能是文本框.下拉框.日期选择控件等等. 很自然的想到 ...
- IrisSkin 单独控件样式设置 不使用皮肤样式
可以设置控件的Tag为this.skinEngine1.DisableTag [DefaultValue()] [Description("If you do not want skin t ...
- WPF设置控件获取键盘焦点时的样式FocusVisualStyle
控件获取焦点除了用鼠标外,可以通过键盘来获取,比如Tab键或者方向键等,需要设置控件获取键盘焦点时的样式,可以通过设置FrameworkElemnt.FocusVisualStyle属性, 因为几乎所 ...
- WPF设置全局控件样式
原文:WPF设置全局控件样式 方法: 在资源文件APP.XAML中添加如下资源 <Application x:Class="_360UI.App" xmlns="h ...
- WPF 自定义TabControl控件样式
一.前言 程序中经常会用到TabControl控件,默认的控件样式很普通.而且样式或功能不一定符合我们的要求.比如:我们需要TabControl的标题能够居中.或平均分布:或者我们希望TabContr ...
随机推荐
- HDU 4493 Tutor (水题)
Tutor Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others)Total Submi ...
- MNI模板和Talairach 模板的对比
The MNI brain and the Talairach atlas SPM 96 and later use standard brains from the Montreal Neurolo ...
- android NDK编程:使用posix多线程与mutex相互排斥同步
MainActivity.java 调用原生方法 posixThreads(int threads, int iterations) 启动线程 package com.apress.threads; ...
- [转]Oracle dblink调用函数报ORA-00904 标识符无效
新建oracle的database link时,提示错误“ORA-12169: TNS: 指定为连接标识符的 Net 服务名太长”, 网上查了下,是因为目标oracle是集群,连接字符串过长,超过25 ...
- 彻底删除SVN版本库中部分文件或文件夹
例:假设SVN库路径为E:/svn/project,库中的目录结构为 QA/Trunk Software/Tags/test.exe 删除Software/Tags/目录下的test.exe文件 操作 ...
- axure 6.5 汉化正式版软件及注册码
Axure公司发布了Axure RP 6.5 正式版. 官方主页: http://www.axure.com/news 官方下载: http://www.axure.com/download 视频介绍 ...
- DCM4CHEE概述
DCM4CHEE构建概述: 所谓“磨刀不误砍柴工”,通过上面的知识普及,大致梳理了开源项目的应用流程.在下一篇博文开始正式介绍DCM4CHEE构建过程之前,先对DCM4CHEE进行一个简单的概述. d ...
- IE6支持min-width、max-width CSS样式属性
1.IE6支持max-width解决方法 IE6支持最大宽度,解决CSS代码: .yangshi{ max-width:1000px; _width:expression((document.docu ...
- myBatis批量添加,修改和删除
摘自: http://blog.csdn.net/myjlvzlp/article/details/8434376 1.批量添加元素session.insert(String string,Objec ...
- 【Python】Python中的深浅拷贝
[转]python 复制(拷贝)对象 -- ::| 分类: Python |举报|字号 订阅 下载LOFTER我的照片书 | 需求: 你想复制一个对象.因为在Python中,无论你把对象做为参数传递, ...