ExtensionMethod.cs
来源:互联网 发布:淘宝买雷蛇灵刃安全吗 编辑:程序博客网 时间:2024/05/15 07:30
using System;using System.Data;using System.Data.SqlClient;using System.Drawing;using System.Linq;using System.Text.RegularExpressions;using System.Windows.Forms;using Excel = Microsoft.Office.Interop.Excel;// 添加引用 -> .NET -> Microsoft.Office.Interop.Excel(2003->11.0, 2007->12.0)namespace ProductManager{ public static class ExtensionMethod { private static ToolTip tipText; static ExtensionMethod() { #region tipText = new ToolTip(); tipText.IsBalloon = true; // 使用气球状窗口的值。 tipText.ToolTipIcon = ToolTipIcon.Warning; tipText.ToolTipTitle = "企业销售管理系统"; #endregion } /// /// 根据视图获取自动编号。 /// /// /// /// #region public static string GetNewID(this DataView dataView, string letters) { dataView.RowFilter = null; // 清除该筛选器。 dataView.RowStateFilter = DataViewRowState.CurrentRows; // 包括未更改行、新行和已修改行的当前行。 var query = from item in dataView.Cast() let ID = item.Row.Field(0).Substring(letters.Length) select ID; int id = query.Any() ? int.Parse(query.Max()) + 1 : 1; return string.Format("{0}{1:D3}", letters, id); // D3 <=> 000 } #endregion /// /// 使用 SELECT 语句从数据源中检索数据。 /// /// /// /// #region public static DataView AsDataView(this DataTable table, string selectText) { try { using (SqlDataAdapter adapter = new SqlDataAdapter(selectText, DBConnection.SQL)) { table.Clear(); table.BeginLoadData();// 在加载数据时关闭通知、索引维护和约束。 adapter.Fill(table); table.EndLoadData();// 在加载数据后打开通知、索引维护和约束。 } } catch (Exception se) { MessageBox.Show(se.Message, "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } return table.AsDataView(); } #endregion /// /// 用 DataGridView 控件打印 Excel 表。 /// /// /// #region public static void PrintToExcel(this DataGridView gridView, string caption) { Excel.Application newExcel = new Excel.Application(); try { Excel.Workbook newBook = newExcel.Workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet); Excel.Worksheet newSheet = newBook.ActiveSheet as Excel.Worksheet; newExcel.Visible = true; newBook.Password = "jinzhexian"; newSheet.Name = caption; Excel.Range newRange = newSheet.get_Range("B1", Type.Missing).get_Resize(2, gridView.ColumnCount); newRange.MergeCells = true; // 合并单元格。 newRange.Font.Size = 16; newRange.Value2 = caption; newRange = newRange.get_Offset(1, 0).get_Resize(1, gridView.ColumnCount); newRange.Value2 = gridView.Columns.Cast().Select(sm => sm.HeaderText).ToArray(); foreach (DataGridViewRow row in gridView.Rows) { newRange = newRange.get_Offset(1, 0); newRange.Value2 = row.Cells.Cast().Select(sm => sm.FormattedValue).ToArray(); } newRange = newRange.get_Offset(1, 0).get_Resize(2, gridView.ColumnCount); newRange.MergeCells = true; // 合并单元格。 newRange.Value2 = string.Format("打印日期: {0:yyyy'年'M'月'd'日'}", DateTime.Today); newRange.EntireColumn.AutoFit(); // 自动调整列宽。 newRange.EntireColumn.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter; newSheet.get_Range("A4", Type.Missing).Select(); newExcel.SendKeys("%WFF", true); // 冻结拆分窗格 Microsoft Office 2003(%WF), 2007(%WFF)。 } catch { newExcel.Quit(); } finally { newExcel = null; GC.Collect(); } } #endregion /// /// 设置 SplitContainer 拆分器的样式。 /// /// #region public static void SetStyle(this SplitContainer split) { split.BorderStyle = BorderStyle.Fixed3D; split.Dock = DockStyle.Fill; split.FixedPanel = FixedPanel.Panel1; // 指定 SplitContainer.Panel1 面板的大小保持不变。 split.IsSplitterFixed = true; // 禁用拆分器移动。 split.Orientation = Orientation.Horizontal; // 水平放置控件或元素。 split.SplitterDistance = 360; // 设置拆分器离 SplitContainer 的左边缘或上边缘的位置。 } #endregion /// /// 设置应用于 DataGridView 中的单元格的默认单元格样式。 /// /// #region public static void SetStyle(this DataGridView gridView) { gridView.AllowUserToAddRows = false; // 禁用添加行。 gridView.AllowUserToDeleteRows = false; // 禁用删除行。 gridView.AllowUserToOrderColumns = false; // 禁用列排序。 gridView.AllowUserToResizeRows = false; // 禁用调整行高。 gridView.AutoGenerateColumns = false; // 禁用自动创建列。 gridView.EnableHeadersVisualStyles = true; // 启用可视样式。 gridView.MultiSelect = false; // 用户仅能选择一个单元格、行或列。 gridView.ReadOnly = true; // 禁用编辑单元格。 gridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells; // 调整列宽仅适合位于当前屏幕上显示的所有单元格(包括标头单元格)的内容。 gridView.BackgroundColor = Color.Lavender; gridView.BorderStyle = BorderStyle.Fixed3D; gridView.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter; gridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing; // 禁用调整列标题的高度。 gridView.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; gridView.Dock = DockStyle.Fill; gridView.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.AutoSizeToFirstHeader; // TopLeftHeaderCell.Value。 gridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect; // 通过单击行的标头或是该行所包含的单元格选定整个行。 } #endregion /// /// 将 TextBoxBase,ListControl,DateTimePicker 控件的 Text 属性重置为其默认值。 /// /// #region public static void ClearText(this GroupBox gb) { foreach (ListControl list in gb.Controls.OfType()) { list.ResetText(); list.SelectedIndex = -1; } foreach (TextBoxBase text in gb.Controls.OfType()) { text.Clear(); } foreach (DateTimePicker dtp in gb.Controls.OfType()) { dtp.ResetText(); } //foreach (Control ctrl in gb.Controls) //{ // if (ctrl is TextBoxBase || ctrl is ListControl || ctrl is DateTimePicker) // ctrl.ResetText(); // ListControl list = ctrl as ListControl; // if (list != null) // list.SelectedIndex = -1; //} } #endregion /// /// 在 TextBoxBase 控件输入无效字符时,提示信息。 /// /// /// /// #region public static void ShowMessage(this MaskInputRejectedEventArgs e, MaskedTextBox maskedText, string caption) { if (e.Position < maskedText.TextLength) tipText.Show(caption, maskedText, 3000); else tipText.Hide(maskedText); } #endregion /// /// 指示指定的 Unicode 字符是否属于 Decimal(0-9) 类别。 /// /// #region public static void IsDigit(this KeyPressEventArgs e) { e.Handled = !(char.IsDigit(e.KeyChar) || (Keys)e.KeyChar == Keys.Back || (Keys)e.KeyChar == Keys.Delete); } #endregion /// /// 指示指定的 Unicode 字符是否属于 Decimal(###0.00) 类别。 /// /// #region public static void IsMoney(this KeyPressEventArgs e) { e.Handled = !(char.IsDigit(e.KeyChar) || e.KeyChar == '.' || (Keys)e.KeyChar == Keys.Back || (Keys)e.KeyChar == Keys.Delete); } #endregion /// /// 验证用户密码。 /// /// #region public static void IsPassword(this KeyPressEventArgs e) { e.Handled = !(char.IsLetterOrDigit(e.KeyChar) || e.KeyChar == '-' || e.KeyChar == '_' || (Keys)e.KeyChar == Keys.Back || (Keys)e.KeyChar == Keys.Delete); } #endregion /// /// 从 TextBoxBase 控件文本中移除所有空白字符后保留的字符数。 /// /// /// #region public static int TextTrimLength(this TextBoxBase textArea) { return textArea.Text.Trim().Length; } #endregion /// /// 验证电子邮件格式 E-mail。 /// /// /// #region public static bool IsValidEmail(this TextBoxBase email) { return Regex.IsMatch(email.Text, @"/w+([-+.']/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*"); } #endregion /// /// 验证中国身份证号码 ID Card。 /// /// /// #region public static bool IsValidCardID(this TextBoxBase cardID) { return Regex.IsMatch(cardID.Text, @"/d{17}[/d|X]|/d{15}"); } #endregion /// /// 验证中国电话号码。 /// /// /// #region public static bool IsValidPhone(this TextBoxBase phone) { return Regex.IsMatch(phone.Text, @"(/(/d{3}/)|/d{3}-)?/d{8}"); } #endregion }}
- ExtensionMethod.cs
- ExtensionMethod.cs
- ExtensionMethod.cs
- ExtensionMethod
- 18、ExtensionMethod
- CS..........................
- cs
- cs
- cs
- Cs
- cs
- cs
- cs
- CS
- cs
- cs,
- cs
- cs
- 为所有人2010年祝福
- iis访问aspx文件显示404无法找到文件?
- 自己写的51单片机控制无线模块RFM12B 发送数据的汇编程序,呵呵
- 程序员修炼之道(跨年阅读)-----精彩---经典---(待整理)
- FreeMarker模板学习
- ExtensionMethod.cs
- 信息检索领域相关资料 (A Guide to Information Retrieval)
- 初步了解了下强悍的FPGA
- PerlRegex堆栈溢出的问题
- FreeMarker模板宏
- 新的一年就这么来了??
- Introduction to Information Retrieval
- FormClient.cs
- FreeMarker设计指南