
C#
brian0031
这个作者很懒,什么都没留下…
展开
-
DataTable 加载表结构
<br />DataTable 加载表结构<br /><br />DataTable dt1 = new DataTable();<br />private void Form1_Load(object sender, EventArgs e)<br />{<br /> dt1.Columns.Add("物料编号", typeof(string));<br /> dt1.Columns.Add("物料名称", typeof(string));<br /> dt1.Columns.Add("原创 2011-05-20 16:14:00 · 512 阅读 · 0 评论 -
Shift + Tab组合键
<br />Shift + Tab组合键<br />( 和 Tabindex 有关, 二者的数字相关, 如果textbox1 的 tabindex 为1, 那textbox2就应为2 )<br /> <br />代码一:<br />private void textBox1_KeyUp(object sender, KeyEventArgs e)<br />{<br /> if ((e.KeyCode==Keys.Shift && e.KeyCode==Keys.Tab)==false)<br />原创 2011-05-24 11:50:00 · 2339 阅读 · 0 评论 -
提高C#编程水平的50个要点
<br />提高C#编程水平的50个要点<br /><br />1.总是用属性 (Property) 来代替可访问的数据成员<br />2.在 readonly 和 const 之间,优先使用 readonly<br />3.在 as 和 强制类型转换之间,优先使用 as 操作符<br />4.使用条件属性 (Conditional Attributes) 来代替条件编译语句 #if<br />5.总是为自定义类重载 ToString 方法<br />6.区别值类型和引用类型<br />7.使用不可变的值类转载 2011-05-25 21:34:00 · 489 阅读 · 0 评论 -
TAB 键执行
按 tab 键从 textbox1 移到 textbox2private void textBox2_KeyUp(object sender, KeyEventArgs e){ if (e.KeyCode == Keys.Tab) { listBox1.Visible = false; }}原创 2011-05-23 22:16:00 · 368 阅读 · 0 评论 -
利用正则表达式验证汉字和英文,阿拉伯数字
<br />利用正则表达式验证汉字和英文,阿拉伯数字<br /> <br />System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex("^[/u4e00-/u9fa5]+$ || ^[a-zA-Z0-9]+$"); //验证汉字和英文,阿拉伯数字<br />if (reg.Match(textBox5.Text.ToString()).Success)<br />{<br /> //遍历Ar原创 2011-05-24 16:11:00 · 1110 阅读 · 0 评论 -
c#中执行存储过程
<br /> <br />private void button1_Click(object sender, EventArgs e)<br />{<br /> string strsql = "SELECT id,name FROM [DepartmentData] group by id,name ";<br /> SqlConnectionStringBuilder CSB = new SqlConnectionStringBuilder();<br /> CSB.DataSourc原创 2011-05-27 09:56:00 · 455 阅读 · 0 评论 -
打印时放大或缩小
<br />using System.Drawing.Printing;<br />Double myZoom = 1.0;<br /> <br />private void toolStripButton5_Click(object sender, EventArgs e)//放大<br />{<br /> myZoom += 0.1;<br /> printPreviewControl1.Zoom = myZoom;<br />}<br /> <br />private void tool原创 2011-06-02 15:31:00 · 715 阅读 · 0 评论 -
c#优化
<br /><br />1.右移代替除法运算、预计算;<br />2.减少冗余计算;<br />3.对于字段和属性,字段访问的速度要快于属性;<br />4.尽量用foreach代替for循环,我记得在哪里看到过,foreach的运行花费时间是for的1/3,有待考证;<br />5.还有就是循环体里面尽量不要写判断语句,因为会影响效率,毕竟你循环一次,程序就做一次判断,这样就有N次循环N次判断,效率大打折扣;<br />6.对于不用改变的“变量”,记得用常量声明;<br />7.string ax=str原创 2011-06-02 22:11:00 · 480 阅读 · 0 评论 -
C#中字符串赋值,判断空字符串
C#中字符串赋值,判断空字符串 string str = string.Empty;最好的方法if (str.Length == 0)好的方法:if (str = string.Empty)坏的方法if (string str = "")原创 2011-06-04 15:43:00 · 1597 阅读 · 0 评论 -
DataRow中进行筛选
DataRow中进行筛选 DataRow[] dr2 = dt.Select("开始日 is not null");for (int k = 0; k { if ((Convert.ToInt32(dr2[k]["停留时间(H)"].ToString()) > 24) && (Convert.ToInt32(dr2[k]["停留时间(H)"].ToString())原创 2011-06-08 11:14:00 · 3961 阅读 · 0 评论 -
二维数组变一维数组
二维数组变一维数组string strsql = string.Format("SELECT top 5 [OldId],RTRIM(LTRIM(ISNULL(Name,) + +ISNULL(Specification,))) as name FROM [MaterialData] where oldid like %{0}% or name like %{1}% "原创 2011-06-17 16:46:00 · 616 阅读 · 0 评论 -
显示转换中的注意事项
private void button1_Click(object sender, EventArgs e){ Byte b = 100; b += 100; //或者写成 b = (Byte)(b + 100), 但不能写成 b = b + 100; MessageBox.Show(""+b);//显示200}原创 2011-06-18 22:09:00 · 398 阅读 · 0 评论 -
修改窗体中所有Button属性
private void button1_Click(object sender, EventArgs e){ foreach (Control c in this.Controls) { Control c1 = c as Button; //使用了显示转换(强制转换) if (c1 != null) c1原创 2011-06-18 23:04:00 · 824 阅读 · 0 评论 -
锁定dataGridView左边的列,使锁定的列不随水平滚动条滚动
锁定dataGridView左边的列,使锁定的列不随水平滚动条滚动方法一:dataGridView1.Columns[0].Frozen = true; //只锁定第0列dataGridView1.AllowUserToOrderColumns = true; //更改栏位顺序 方法二:1.dataGridView的contextMenuStrip属性设定为原创 2011-06-22 10:24:00 · 2428 阅读 · 0 评论 -
自定义类,三种写法
//自定义类,设定为public,方便但不安全,被他人引用而造成异常(方法1/3)class User{ public string name; //设定为public,方便但不安全,被他人引用而造成异常 public string sex; public void SetSex(string values) { if (va原创 2011-06-19 12:33:00 · 686 阅读 · 0 评论 -
c#中textbox只能输入数字, 包括小数
private void textBox7_KeyPress(object sender, KeyPressEventArgs e)//需求数量栏位,只能输入数字,并且可以输入小数{ if (e.KeyChar != 13 && e.KeyChar != 8 && !char.IsDigit(e.KeyChar) && e.KeyChar != 46) e.Handled =原创 2011-06-21 18:43:00 · 739 阅读 · 0 评论 -
检查溢出
private void button1_Click(object sender, EventArgs e){ int a = 5; long b = 70000000000; try { checked { a = b as int // 也可以写成 a = (int)b;原创 2011-06-18 23:01:00 · 351 阅读 · 0 评论 -
显示转换(强制转换),访问子类中的值i
class Fruit { }class Apple : Fruit{ public int i = 1;}private void button1_Click(object sender, EventArgs e){ Fruit f = new Apple(); Apple a = f as Apple //也可以写成 Apple a = (原创 2011-06-18 23:02:00 · 349 阅读 · 0 评论 -
C#中textbox只能输入数字
textbox只能输入数字 方法一:private void textBox7_KeyPress(object sender, KeyPressEventArgs e)//只能输入数字和.{ byte[] array = System.Text.Encoding.Default.GetBytes(e.KeyChar.ToString()); if (!cha原创 2011-06-21 10:01:00 · 601 阅读 · 0 评论 -
dataGridView的计算问题(相乘)
dataGridView的计算问题(相乘) private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e){ //总数量=每串数量*串数原创 2011-07-03 21:18:58 · 1684 阅读 · 0 评论 -
dataGridView 与 DataSet 的关联
DataTable dt_add = new DataTable();DataTable dt_copy = new DataTable();DataSet ds_add = new DataSet();dt_add = (DataTable)dataGrid原创 2011-07-04 14:43:47 · 650 阅读 · 0 评论 -
SqlCommandBuilder 删除与更新的用法,附代码
SqlCommandBuilder 删除与更新的用法,附代码, 与 dataGridView 结合using System.Data.SqlClient;private void toolStripButton2_Click(object sender, EventArgs e) //保存{ if (dataGridView1.Rows.Count == 0) return;原创 2011-06-30 16:41:00 · 1297 阅读 · 0 评论 -
c# keycode
• keycode 8 = BackSpace BackSpace• keycode 9 = Tab Tab• keycode 12 = Clear• keycode 13 = Enter• keycode 16 = Shift_L•原创 2011-07-07 09:13:32 · 937 阅读 · 0 评论 -
窗体form在最前面(顶层),topmost
bool b = false;private void button2_Click(object sender, EventArgs e){ if (b) { this.TopMost = true; b = false; }原创 2011-07-07 19:41:59 · 2211 阅读 · 0 评论 -
MaskedTextBox 的mask属性
A,a 字母与数字& 键盘可输入字符# 数字"0-9",空格,"+-"9 数字"0-9",空格0 数字"0-9"原创 2011-07-07 20:18:53 · 2941 阅读 · 0 评论 -
DataTable转换成一维数据
DataTable dtb2 = new DataTable();string[] m_list = new string[dtb2.Rows.Count];for (int i = 0; i { m_list[i] = dtb2.Rows[i][0].原创 2011-07-06 17:14:01 · 470 阅读 · 0 评论 -
dataGridView中值赋值给DataTable
DataTable dtsve = new DataTable();private void toolStripButton6_Click(object sender, EventArgs e) //保存{ if (dataGridView1.Rows.Count > 0)原创 2011-07-09 10:51:08 · 1615 阅读 · 0 评论 -
打印预览, 共document页, 如何解决
using System.Drawing.Printing;PrintDocument pdc = new PrintDocument();private void form2_Load(object sender, EventArgs e){ printPreviewCo原创 2011-07-13 13:01:15 · 1173 阅读 · 0 评论 -
c# 打印方法(如何打印)
方法一:using System.Drawing.Printing;using System.Drawing.Drawing2D;private void toolStripButton7_Click(object sender, EventArgs e) //列印{ Pr原创 2011-07-13 13:09:01 · 898 阅读 · 0 评论 -
c# 打印时换行的处理
using System.Drawing.Printing;using System.Drawing.Drawing2D; //每隔55个字换行int k = Ds.Tables[0].Rows[0]["请购原因"].ToString().Trim().Length / 55;i原创 2011-07-13 13:15:17 · 2854 阅读 · 0 评论 -
C# 多页打印(附代码)
int b = 0;int c = 0;int d = 0;private void form2_Load(object sender, EventArgs e){ foreach (PaperSize ps5 in pdc.PrinterSettings.PaperSiz原创 2011-07-22 11:43:13 · 1467 阅读 · 0 评论 -
C#打印设置(二种方法)
方法一:private void toolStripButton7_Click(object sender, EventArgs e){ PrintDialog pDlg = new PrintDialog(); pDlg.AllowSomePages = true;原创 2011-07-25 15:08:51 · 2932 阅读 · 0 评论 -
c#中实现打印指定页(特定页), 附原代码
private int page;private int maxpage;private int b = 0; //导入相关数据时用到,第几笔资料private int c = 0; //显示共多少页 private void form2_Load(object sende原创 2011-07-25 16:43:46 · 3078 阅读 · 1 评论 -
dataGridView 回车后移到右边单元格
private void dataGridView1_KeyDown(object sender, KeyEventArgs e) //按下回车执行tab{ if (this.dataGridView1.Focused && e.KeyCode == Keys.Enter)原创 2011-07-15 11:55:20 · 1048 阅读 · 0 评论 -
dataGridView增加复选框
DataGridViewCheckBoxColumn dtchk = new DataGridViewCheckBoxColumn();dtchk.DataPropertyName = "chk";dtchk.HeaderText = "";dataGridView1.Colum原创 2011-07-15 16:59:38 · 876 阅读 · 0 评论 -
dataGridView中的复制
private void copyToolStripMenuItem_Click(object sender, EventArgs e) //复制{ if (this.dataGridView1.GetCellCount(DataGridViewElementStates.原创 2011-07-16 14:28:47 · 501 阅读 · 0 评论 -
dataGridView中checkbox选择全部(全选,全部选择)
private void all_ToolStripMenuItem_Click(object sender, EventArgs e){ this.textBox1.Focus(); for (int i = 0; i { this.dataG原创 2011-07-16 15:24:34 · 2524 阅读 · 0 评论 -
datagridview 限制某列只能输入数字
public DataGridViewTextBoxEditingControl CellEdit = null;private void dataGridView1_EditingControlShowing(object sender, DataGridV原创 2011-07-04 12:28:14 · 1380 阅读 · 0 评论 -
dataGridView中的反向选择, checkbox
private void reversed_ToolStripMenuItem_Click(object sender, EventArgs e){ foreach ( DataGridViewRow drw in this.dataGridView1.Rows) {原创 2011-07-18 09:22:20 · 635 阅读 · 0 评论 -
datagridview新增行
datagridview新增行,在有栏位的情况下DataRow dr = ((DataTable)dataGridView1.DataSource).NewRow();((DataTable)dataGridView1.DataSource).Rows.Add(dr); data原创 2011-07-28 16:29:51 · 622 阅读 · 0 评论