麦田

不积跬步无以至千里.

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
上一页 1 ··· 8 9 10 11 12 13 14 下一页

2012年12月24日

摘要: 下载XPTable提供示例:下载当我们使用C#开发Windows应用程序,通常都用到DataGridView控件,毫无疑问,DataGrideView控件只提供了一些基本能满足我们使用的功能,而且如果在DataGridView里添加CheckBox、下拉框、等等相关控件时,使用起来十分麻烦,如果阁下觉得使用微软件提供的DataGridView十分麻烦时,这里小弟推荐XPTable给大家使用,XPTable为Codeproject提供开源的第三方控件,其功能十分强大。截图可以看出XPTable里可以添加各式各样的控件。XPTable提供的几个Demo可以点击这里下载:下载Demo.如下是介绍我在 阅读全文
posted @ 2012-12-24 18:22 一些记录 阅读(6896) 评论(2) 推荐(2)

摘要: 窗体和对话框要么是有模式的,要么是无模式的。1、Show()是有模式的:“模式”窗体或对话框必须关闭或隐藏,然后您才能继续使用应用程序的其余部分。2、ShowDialog()是无模式的:“无模式”窗体让您在此窗体与另一窗体之间变换焦点,而不必关闭初始窗体,用户在该窗体显示的同时可继续在任何应用程序的其他位置工作。 阅读全文
posted @ 2012-12-24 14:11 一些记录 阅读(2227) 评论(1) 推荐(0)

摘要: FormSendQueue formSendQueue = new FormSendQueue(); private void button1_Click(object sender, EventArgs e) { formSendQueue.ShowDialog(); }把窗体创建语句放到外面 if (!formSendQueue.IsDisposed) { MessageBox.Show("formsendqueue窗体打开"); ... 阅读全文
posted @ 2012-12-24 14:07 一些记录 阅读(299) 评论(0) 推荐(0)

摘要: List<APlusEmail.Model.AP01SendQueueNew> aP01SendQueueModelList = aP01SendQueueBLL.GetModelList("info <> '000' order by times desc "); for (int i = 0; i < aP01SendQueueModelList.Count; i++) { this.tableXP.TableModel.Rows.Add ( new... 阅读全文
posted @ 2012-12-24 13:42 一些记录 阅读(610) 评论(0) 推荐(0)

2012年12月23日

摘要: 很多时候,我开发软件的时候 需要开启线程到后台处理大数据,不断更新数据库,但又要同时修改前台UI,比如迅雷的下载任务,开多个线程去下载,显示层UI也要同时体现给用户知道,显示当前用户下载进度等,这样必须用到多线程,但是C#中多线程处理问题涉及到一个“界面控件不能跨线程”,因为微软认为这样会导致线程不安全问题,那么我们一般怎么处理这样的问题,既要处理数据,又要实时显示看设计界面数据库用到的是sqlite 英文sqlite是多线程的 但同一时间只能一个线程操作数据库,所以要用到线程同步问题我用LOCK进行线程同步处理 lock (ModifStatic.o) ... 阅读全文
posted @ 2012-12-23 20:16 一些记录 阅读(17185) 评论(10) 推荐(2)

摘要: 原帖:http://bbs.bccn.net/thread-341646-1-1.html最近一直在研究调度 涉及到用调度实时给客户发送短信的功能 其中就有用到实时更新的显示发送状态的 当然 今天不是以QUARTE为主主要控件有 datagridview checkbox picturebox trackBar1 label datagridview :实时显示数据checkbox :指示是否停止更新picturebox :显示更新状态trackBar1 :设置更新时间频率label :显示一些相关信息有时候我们希望能够实时的去更新一些信息 大家可能会想到Timer 但是这样做会使界面很卡 影 阅读全文
posted @ 2012-12-23 11:24 一些记录 阅读(2002) 评论(0) 推荐(0)

摘要: i = r.Next(1,8); 阅读全文
posted @ 2012-12-23 10:42 一些记录 阅读(191) 评论(0) 推荐(0)

摘要: 有id主键 获取一个model 把该model修改后 传入就行了 如果没有 还要自己写 加入wherestr 阅读全文
posted @ 2012-12-23 10:29 一些记录 阅读(258) 评论(0) 推荐(0)

2012年12月21日

摘要: using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace _05方法{ class Program { static void Main(string[] args) { // new Program().Func1(); FuncTest(); Console.ReadKey(); } // 无参无返回 // public... 阅读全文
posted @ 2012-12-21 20:30 一些记录 阅读(155) 评论(0) 推荐(0)

摘要: using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace _04continue{ class Program { static void Main(string[] args) { // 求所有偶数的和 int sum = 0; for (int i = 0; i <= 10; i++) { if (i % 2 ... 阅读全文
posted @ 2012-12-21 20:29 一些记录 阅读(128) 评论(0) 推荐(0)

摘要: using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace _03循环控制{ class Program { static void Main(string[] args) { /* * for(int i = 0; i < 100; i++) * { * * } * ... 阅读全文
posted @ 2012-12-21 20:23 一些记录 阅读(168) 评论(0) 推荐(0)

摘要: using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace _02复习流程控制{ class Program { static void Main(string[] args) { // 该方法输出里面的第一个参数 Console.WriteLine("您好,请选择业务范围:"); Console.WriteLine("1、查询"); Conso... 阅读全文
posted @ 2012-12-21 20:21 一些记录 阅读(260) 评论(0) 推荐(0)

摘要: 原理:文件数据库sqlite,同一时刻允许多个进程/线程读,但同一时刻只允许一个线程写。在操行写操作时,数据库文件被琐定,此时任何其他读/写操作都被阻塞,如果阻塞超过5秒钟(默认是5秒,能过重新编译sqlite可以修改超时时间),就报"database is locked"错误。 所以,在操作sqlite时,应该即时关闭连接;打开连接后,尽量减少非常费时的操作。 知道了原理,也知道了一些注意点,并不意味着不会犯错。如果下面一段使用sqlalchemy来操作sqlite的代码:相信你一定看出这段代码的问题,也明白该怎么修改这段代码。但这个错误,我不至犯了一次,而且在多次犯同样 阅读全文
posted @ 2012-12-21 18:09 一些记录 阅读(6232) 评论(0) 推荐(0)

摘要: ref 和out 都是函数的引用传递不了解什么是引用传递的 百度一下但ref 在调用函数前需要先初始化 也就是实例化而out 则可以不用但是ref 在函数里面可以不赋值而out则必须赋值也就是说 out在函数里面必须赋值 ref在函数外面调用前必须赋值 阅读全文
posted @ 2012-12-21 11:43 一些记录 阅读(166) 评论(0) 推荐(0)

摘要: Ctrl+E,D ----格式化全部代码 Ctrl+E,F ----格式化选中的代码 CTRL + SHIFT + B生成解决方案 CTRL + F7 生成编译 CTRL + O 打开文件 CTRL + SHIFT + O打开项目 CTRL + SHIFT + C显示类视图窗口 F4 显示属性窗口 SHIFT + F4显示项目属性窗口 CTRL + SHIFT + E显示资源视图 F12 转到定义 CTRL + F12转到声明 CTRL + ALT + J对象浏览 CTRL + ALT + F1帮助目录 CTRL + F1 动态帮助 F1 帮助 SHIFT + F1当前窗口帮助 CTRL + 阅读全文
posted @ 2012-12-21 11:18 一些记录 阅读(291) 评论(0) 推荐(0)

摘要: 这个原因 我错了很多次 每次修改起来好烦 阅读全文
posted @ 2012-12-21 10:04 一些记录 阅读(405) 评论(0) 推荐(0)

2012年12月20日

摘要: 说个大概吧。 首先有一个读取数据的方法getData。 该方法里面有 获取数据A和放入DataGridView的操作。 然后有个总的方法getAllData来New 线程,线程调用getData方法,通过一些全局变量来控制获取的是数据A B或C 因为线程调用方法是无参数的。如果获取数据是同一个来源的最好lock一下,保证同一时间内只有一个线程进入数据源。当非主线程控制主线程创建的DataGridView时候需要使用委托来更新DataGridView里的数据 简单的写了下 public delegate void updataText(string str); //... 阅读全文
posted @ 2012-12-20 22:09 一些记录 阅读(2674) 评论(0) 推荐(0)

摘要: 然后修改它对于的row写个全局的对象 专门保存数据每次while true 获取到 就修改 阅读全文
posted @ 2012-12-20 22:05 一些记录 阅读(213) 评论(0) 推荐(0)

摘要: 修改ui日志 就不断重新绑定dataset datasource 阅读全文
posted @ 2012-12-20 21:55 一些记录 阅读(117) 评论(0) 推荐(0)

摘要: using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace _02面向对象{ class Program { static void Main(string[] args) { //Person p = new Person(); //p.Name = "小王"; //p.Age = 19; //p.Gender = '男'; ... 阅读全文
posted @ 2012-12-20 20:20 一些记录 阅读(123) 评论(0) 推荐(0)

摘要: using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace _01复习与练习{ class Program { static void Main(string[] args) { // 交换两个变量的值 #region 交换变量 //int num1 = 5; //int num2 = 10; //int temp = nu... 阅读全文
posted @ 2012-12-20 20:18 一些记录 阅读(246) 评论(0) 推荐(0)

摘要: using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace _01练习题1{ // ctrl + k + d /* * 这是一个注释 */ class Program { /// <summary> /// summary表示这个方法的总的描述 /// </summary> /// <param name="args">表示的是方法参数的描述</param> st... 阅读全文
posted @ 2012-12-20 20:10 一些记录 阅读(154) 评论(0) 推荐(0)

摘要: OO编程思想 业务的不要管UI的 业务的只需要处理 UI的只需要去获取数据就ok 阅读全文
posted @ 2012-12-20 18:07 一些记录 阅读(156) 评论(0) 推荐(0)

摘要: private delegate void CrossThreadOperationControl(); // 将代理实例化为一个匿名代理 CrossThreadOperationControl CrossDelete = delegate() { MessageBoxButtons buttons = MessageBoxButtons.OKCancel; DialogResult dr = MessageBox.Show("Master,please to hav... 阅读全文
posted @ 2012-12-20 15:13 一些记录 阅读(858) 评论(0) 推荐(0)

摘要: t.TableModel.Rows[0].Cells[0].Text 阅读全文
posted @ 2012-12-20 13:56 一些记录 阅读(227) 评论(0) 推荐(0)

摘要: this.tableXP.TableModel.Rows.Add ( new XPTable.Models.Row ( new XPTable.Models.Cell[] { new XPTable.Models.Cell("wait",Image.FromFile(".\\image\\busy.png")), ... 阅读全文
posted @ 2012-12-20 13:55 一些记录 阅读(600) 评论(0) 推荐(0)

摘要: Image.FromFile 一旦使用后,对应的文件在一直调用其生成的Image对象被Disponse前都不会被解除锁定,这就造成了一个问题,就是在这个图形被解锁前无法对图像进行操作(比如删除,修改等操作).在以前用的过程中曾用过下面三个方法解决问题. 第一种方法,在要进行文件操作前将Image对象销毁.PictureBox picbox;if(picbox.Image!=null)picbox.Image.Disponse();第二种方法,就是在加载图像的时候用一种方法替代:System.Drawing.Image img = System.Drawing.Image.FromFile(f. 阅读全文
posted @ 2012-12-20 13:22 一些记录 阅读(15316) 评论(0) 推荐(0)

摘要: 原文http://www.cnblogs.com/SkySoot/archive/2012/03/14/2396552.html我们先来看一段运行时会抛出 InvalidOperationException 异常的代码段:public partial class TestThread : Form{ public TestThread() { InitializeComponent(); } Thread thread; void SetText(string str) { this.textBox1.Text = str; ... 阅读全文
posted @ 2012-12-20 11:44 一些记录 阅读(4075) 评论(1) 推荐(1)

摘要: System.Threading.Thread th = new System.Threading.Thread(new System.Threading.ParameterizedThreadStart(new APlusEmail.Timer.TimerManager().theout));然后 这个theout方法 应该传入object方法public void theout(object o) { 阅读全文
posted @ 2012-12-20 11:23 一些记录 阅读(129) 评论(0) 推荐(0)

摘要: 邮箱不可用。 服务器响应为: Error: content rejected.http://mail.qq.com/zh_CN/help/content/rejectedmail.htmlmail from address must be same as authorization 阅读全文
posted @ 2012-12-20 11:17 一些记录 阅读(580) 评论(0) 推荐(0)

摘要: sqlite3* // A session of database connectionsqlite3_stmt* // SQL Statement Object>> Supported Data Types of Column似乎SQLite2仅仅支持TEXT类型,在SQLite3中大大丰富了。TEXT NUMERIC INTEGER REAL NONE>> Methods:Sqlite3有82个函数,但是常用的也就那么几个:// LibraryInitialization/Shutdownint sqlite3_initialize(void);int sqlite 阅读全文
posted @ 2012-12-20 11:05 一些记录 阅读(1245) 评论(0) 推荐(0)

摘要: sqlite错误 Abort due to constraint violation column id is not unique id没开启自动增长 阅读全文
posted @ 2012-12-20 11:02 一些记录 阅读(4193) 评论(0) 推荐(0)

摘要: 否则 生成代码的时候 可能会出错 阅读全文
posted @ 2012-12-20 10:53 一些记录 阅读(276) 评论(0) 推荐(0)

摘要: Select * From MAIN.[AP01SendQueueNew] Limit 1000update AP01SendQueueNew set stauts = 'wait' where status = 'run' 阅读全文
posted @ 2012-12-20 10:32 一些记录 阅读(169) 评论(0) 推荐(0)

2012年12月19日

摘要: 提起多线程,不得不提起委托(delegates)这个概念.我理解的委托就是具有同样参数和返回值的函数的集合比如publicdelegatevoidMyDelegate(intarg);就是这种形式的函数voidMyfuntion(inti);的集合.如何将一个函数加入委托的集合MyDelegatedele=newMyDelegate(Myfuntion1);再增加一个dele+=newMyDelegate(Myfuntion2);委托函数 dele就是 具有整数参数和空返回值的函数Myfuntion1,2的集合调用这个委托函数就是逐个调用 Myfuntion1,2,... 阅读全文
posted @ 2012-12-19 17:49 一些记录 阅读(286) 评论(0) 推荐(0)

摘要: 述C#多线程中 lock关键字 本文介绍C# lock关键字,C#提供了一个关键字lock,它可以把一段代码定义为互斥段(critical section),互斥段在一个时刻内只允许一个线程进入执行,而其他线程必须等待。 每个线程都有自己的资源,但是代码区是共享的,即每个线程都可以执行相同的函数。这可能带来的问题就是几个线程同时执行一个函数,导致数据的混乱,产生不可预料的结果,因此我们必须避免这种情况的发生。C#提供了一个关键字lock,它可以把一段代码定义为互斥段(critical section),互斥段在一个时刻内只允许一个线程进入执行,而其他线程必须等待。在C# lock关键字定义.. 阅读全文
posted @ 2012-12-19 17:41 一些记录 阅读(242) 评论(0) 推荐(0)

摘要: 如果代码是在VS2003中的话应该不会抛出这个异常,只有在使用VS2005的时候,如果你从非创建这个控件的线程中访问这个控件或者操作这个控件的话就会抛出这个异常。这是微软为了保证线程安全以及提高代码的效率所做的改进.以前在VS2003中,我们通常都会忽略这种问题的存在,无限制的使用线程来完成一些工作,但是当系统慢慢变大的时候,这种滥用的线程不但没有提高我们的效率,反而使我们找错误的效率以及系统的复杂度大大的增加了。 微软的这一改动可以让我们在使用线程的时候,充分考虑一下线程的安全以及线程的使用规范,这样会有益于我们做出健壮的程序。 坚决这种跨线程的问题在VS2005中提供了两种简单的方法(我个 阅读全文
posted @ 2012-12-19 17:39 一些记录 阅读(1142) 评论(0) 推荐(0)

摘要: AutoResetEvent 允许线程通过发信号互相通信。通常,此通信涉及线程需要独占访问的资源。线程通过调用 AutoResetEvent 上的 WaitOne 来等待信号。如果 AutoResetEvent 处于非终止状态,则该线程阻塞,并等待当前控制资源的线程通过调用 Set 发出资源可用的信号。调用 Set 向 AutoResetEvent 发信号以释放等待线程。AutoResetEvent 将保持终止状态,直到一个正在等待的线程被释放,然后自动返回非终止状态。如果没有任何线程在等待,则状态将无限期地保持为终止状态。可以通过将一个布尔值传递给构造函数来控制 AutoResetEvent 阅读全文
posted @ 2012-12-19 13:29 一些记录 阅读(248) 评论(0) 推荐(0)

摘要: Thread (ParameterizedThreadStart) 初始化 Thread 类的新实例,指定允许对象在线程启动时传递给线程的委托。 Thread (ThreadStart) 初始化 Thread 类的新实例。 由 .NET Compact Framework 支持。 Thread (ParameterizedThreadStart, Int32) 初始化 Thread 类的新实例,指定允许对象在线程启动时传递给线程的委托,并指定线程的最大堆栈大小。 Thread (ThreadStart, Int32) 初始化 Thread 类的新实例,指定线程的最大堆栈大小。 由 .NET C 阅读全文
posted @ 2012-12-19 13:25 一些记录 阅读(280) 评论(0) 推荐(0)

摘要: Timer控件主要会用到2个属性一个是Enabled和IntervalEnabled主要是控制当前Timer控件是否可用timer1.Enabled=false;不可用timer1.Enabled=true;可用timer1.Interval=1000;主要是设置timer2_Tick事件的时间,单位为毫秒例一:到9:00提示去上厕所:(把timer2.Interval=60000;//1分钟private void timer2_Tick(object sender, System.EventArgs e){ string cesuotime=DateTime.Now.Date... 阅读全文
posted @ 2012-12-19 13:22 一些记录 阅读(425) 评论(0) 推荐(0)

上一页 1 ··· 8 9 10 11 12 13 14 下一页