DotNetBar第三方控件使用笔记

发布时间 : 星期六 文章DotNetBar第三方控件使用笔记更新完毕开始阅读

return;

// 叉掉所有周末并禁用选择

if ((day.Date.DayOfWeek == DayOfWeek.Saturday || day.Date.DayOfWeek == DayOfWeek.Sunday) && day.Date != DateTime.Today.AddDays(1)) { day.Selectable = false; // 标记标签为不能选择 day.TrackMouse = false; // 不跟踪鼠标移动 e.PaintBackground(); e.PaintText(); Rectangle r = day.Bounds; r.Inflate(-2, -2);

System.Drawing.Drawing2D.SmoothingMode sm = e.Graphics.SmoothingMode;

e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; e.Graphics.DrawLine(Pens.Red, r.X, r.Y, r.Right, r.Bottom); e.Graphics.DrawLine(Pens.Red, r.Right, r.Y, r.X, r.Bottom); e.Graphics.SmoothingMode = sm; // 确保没有呈现在控件内部的部件 e.RenderParts = DevComponents.Editors.DateTimeAdv.eDayPaintParts.None; } // 标识明天 else if (day != null && day.Date == DateTime.Today.AddDays(1)) { e.PaintBackground(); e.PaintText();

System.Drawing.Drawing2D.SmoothingMode sm = e.Graphics.SmoothingMode; e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; Rectangle r = day.Bounds; r.Width--; r.Height--;

using(Pen pen = new Pen(Color.FromArgb(128, Color.Blue))) e.Graphics.DrawEllipse(pen, r); e.Graphics.SmoothingMode = sm; // 确保没有呈现在控件内部的部件

e.RenderParts = DevComponents.Editors.DateTimeAdv.eDayPaintParts.None; } }

用户定义的日期/时间格式(Format 函数) C#时间格式

有时候我们要对时间进行转换,达到不同的显示效果。 默认格式为:2005-6-6 14:33:34

如果要换成200506,06-2005,2005-6-6或更多的该怎么办呢? 我们要用到:DateTime.ToString的方法(String, IFormatProvider)

using System;

using System.Globalization; String Format=\

DateTime date=DataTime.Now;

Response.Write(date.ToString(Format, DateTimeFormatInfo.InvariantInfo)); 结果输出:

Thursday, June 16, 2005

参数Format格式详细用法 格式字符 关联属性/说明 d ShortDatePattern D LongDatePattern

f 完整日期和时间(长日期和短时间) F FullDateTimePattern(长日期和长时间) g 常规(短日期和短时间) G 常规(短日期和长时间) m、M MonthDayPattern r、R RFC1123Pattern

s 使用当地时间的SortableDateTimePattern(基于 ISO 8601) t ShortTimePattern T LongTimePattern

u UniversalSortableDateTimePattern用于显示通用时间的格式 U 使用通用时间的完整日期和时间(长日期和长时间) y、Y YearMonthPattern

下表列出了可被合并以构造自定义模式的模式。这些模式是区分大小写的,如识别“MM”,但不识别“mm”。如果自定义模式包含空白字符或用单引号括起来的字符,则输出字符串页也将包含这些字符。未定义为格式模式的一部分或未定义为格式字符的字符按其原义复制。

格式模式 说明

d 月中的某一天。一位数的日期没有前导零。 dd 月中的某一天。一位数的日期有一个前导零。

ddd 周中某天的缩写名称,在 AbbreviatedDayNames 中定义。 dddd 周中某天的完整名称,在 DayNames 中定义。 M 月份数字。一位数的月份没有前导零。 MM 月份数字。一位数的月份有一个前导零。

MMM 月份的缩写名称,在 AbbreviatedMonthNames 中定义。 MMMM 月份的完整名称,在 MonthNames 中定义。

y 不包含纪元的年份。如果不包含纪元的年份小于 10,则显示不具有前导零的年份。

yy 不包含纪元的年份。如果不包含纪元的年份小于 10,则显示具有前导零的年份。 yyyy 包括纪元的四位数的年份。

gg 时期或纪元。如果要设置格式的日期不具有关联的时期或纪元字符串,则忽略该模式。

h 12 小时制的小时。一位数的小时数没有前导零。 hh 12 小时制的小时。一位数的小时数有前导零。 H 24 小时制的小时。一位数的小时数没有前导零。 HH 24 小时制的小时。一位数的小时数有前导零。 m 分钟。一位数的分钟数没有前导零。 mm 分钟。一位数的分钟数有一个前导零。 s 秒。一位数的秒数没有前导零。 ss 秒。一位数的秒数有一个前导零。

f 秒的小数精度为一位。其余数字被截断。 ff 秒的小数精度为两位。其余数字被截断。 fff 秒的小数精度为三位。其余数字被截断。 ffff 秒的小数精度为四位。其余数字被截断。 fffff 秒的小数精度为五位。其余数字被截断。 ffffff 秒的小数精度为六位。其余数字被截断。 fffffff 秒的小数精度为七位。其余数字被截断。

t 在AMDesignator或PMDesignator中定义的AM/PM指示项的第一个字符(如果存在)。

tt 在AMDesignator或PMDesignator中定义的AM/PM指示项(如果存在)。 z 时区偏移量(“+”或“-”后面仅跟小时)。一位数的小时数没有前导零。例如,太平洋标准时间是“-8”。 zz 时区偏移量(“+”或“-”后面仅跟小时)。一位数的小时数有前导零。例如,太平洋标准时间是“-08”。 zzz 完整时区偏移量(“+”或“-”后面跟有小时和分钟)。一位数的小时数和分钟数有前导零。例如,太平洋标准时间是“-08:00”。

: 在TimeSeparator中定义的默认时间分隔符。 / 在DateSeparator中定义的默认日期分隔符。 % c 其中c是格式模式(如果单独使用)。如果格式模式与原义字符或其他格式模式合并,则可以省略“%”字符。

\\ c 其中c是任意字符。照原义显示字符。若要显示反斜杠字符,请使用“\\\\”。

只有上面第二个表中列出的格式模式才能用于创建自定义模式;在第一个表中列出的标准格式字符不能用于创建自定义模式。自定义模式的长度至少为两个字符;例如:

DateTime.ToString( \返回DateTime值;“d”是标准短日期模式。 DateTime.ToString( \返回月中的某天;“%d”是自定义模式。 DateTime.ToString( \\返回后面跟有一个空白字符的月中的某天;“d”是自定义模式。

比较方便的是,上面的参数可以随意组合,并且不会出错,多试试,肯定会找到你要的时间格式。

如要得到“2005年06月”这样格式的时间。

IntegerInput控件和DoubleInput控件的用法类似

(1)关于格式的控制,这两个控件有好多地方与DateTimeInput控件相似,这里介绍一个不同的。

控件激活前是这样的

,但是,当控件激活后,就变成这样的

,然后,就和其他设置的IntegerInput控件的用法一致了。

(2)图标

表示“自增/自减”,与属性

有关,而增量与属性有关。

(3)与增量有关:怎么实现任意步长? (4)数字的格式化 内置类型的字母格式

有一种格式命令以单个字母开头,表示下列设置: G——常规,E或F中较短的 F——浮点数,常规表示法

E——用E表示法表示的浮点数(其中,E代表10的次幂) N——带有分隔符的浮点数(在美国为逗号)

C——货币,带有货币符号和分隔符(在美国为逗号) D——十进制数,仅用于整型 X——十六进制数,仅用于整型

字母可以后跟一个数字,根据字母的不同,该数字可以表示总位数、有效位数或小数点后面的位数。

下面是字母格式的一些示例: double pi = Math.PI; double p0 = pi * 10000; int i = 123;

Console.WriteLine(\浮点格式,无分隔符(逗号)\

Console.WriteLine(\, Left {0, -25}\pi); // 3.1415926535897931 Console.WriteLine(\Rt. {0, 25}\p0); // 3.1415926535897931 Console.WriteLine(\E {0, 25:E}\pi); // 3.1416E+000

Console.WriteLine(\使用 E 和 F 格式,小数点后保留 n(此处为 4)位\ Console.WriteLine(\E4 {0, 25:E4}\pi); // 3.1416E+000 Console.WriteLine(\F4 {0, 25:F4}\pi); // 3.1416

Console.WriteLine(\使用 G 格式,保留 4 位有效数字——如果需要请使用 E 格式\ Console.WriteLine(\G4 {0, 25:G4}\pi); // 3.142 Console.WriteLine(\G4 {0, 25:G4}\p0); // 3.142E4 Console.WriteLine(\和 C 格式带有逗号(分隔符),\+ \默认小数点后保留两位,四舍五入。\

Console.WriteLine(\N {0, 25:N}\p0); // 31,415.93

联系合同范文客服:xxxxx#qq.com(#替换为@)