- 博客(28)
- 收藏
- 关注
原创 Invoke的用法
<br />在多线程编程中,我们经常要在工作线程中去更新界面显示,而在多线程中直接调用界面控件的方法是错误的做法,Invoke 和 BeginInvoke 就是为了解决这个问题而出现的,使你在多线程中安全的更新界面显示。<br /><br />正确的做法是将工作线程中涉及更新界面的代码封装为一个方法,通过 Invoke 或者 BeginInvoke 去调用,两者的区别就是一个导致工作线程等待,而另外一个则不会。<br /><br />而所谓的“一面响应操作,一面添加节点”永远只能是相对的,使 UI 线程的负
2011-05-20 11:00:00
906
转载 C# WinForm(窗体) 之间传值
<br />第一个全局变量:<br />这个最简单,只要把变量描述成static就可以了,在form2中直接引用form1的变量,代码如下:<br />在form1中定义一个static变量public static int i= 9 ;<br />Form2中的钮扣按钮如下:<br />private void button1_Click(object sender, System.EventArgs e)<br />{<br /> textBox1.Text = Form1.i.ToString(
2011-03-11 13:33:00
1119
原创 批处理、VBS实现自动设置IP、默认网关、DNS、WINS、IE代理!
因为公司有同事负责大连、沈阳两个城市,经常在两地来回走动,到每个城市后,都要自己手动更改相应的网络配置,况且到外地时住的是酒店,酒店上网是自动获得IP,又要将网络设置取消,真的很麻烦!于是想起写一个批处理!来解决这个问题!主要用到的命令是netsh.-、第一种方法是将两地的网络配置先进行本机设置,然后再导出,等用到的时候,再分别导入。1、将现有的配置导出到d:/dalian.txt中:netsh –c interface dump > d:/dalian.txt
2011-03-09 08:54:00
1742
转载 c# winform socket网络编程,点对点传输文件,socket文件传输,监听端口
<br />关键字: socket 网络编程 点对点 传输文件 文件传输 监听端口 服务器用来接收文件,不停的监听端口,有发送文件就马上开始接收文件 <br />服务端代码: <br />C#代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using Sy
2011-03-03 17:38:00
5468
转载 C# 画点
<br />画点的方法:<br />方法一:<br /> 用picGraphics.FillRectangle(new SolidBrush(fillColor), p.X, p.Y, 1, 1); 即用一个像素填充方法.<br />方法二:<br /> 用gdi32.dll库中的SetPixel方法<br /> [DllImport("gdi32.dll")]<br /> private static extern int SetPixel(IntPtr hdc, int x
2011-03-03 11:15:00
9354
原创 关闭主程序时如何关闭子线程
<br />线程分为前台线程和后台线程,这两者的区别就是:应用程序必须运行完所有的前台线程才可以退出,有时虽然我们关闭了主窗口,但前以子线程还没有结束,应用程序此时并没有真正完全关闭;而对于后台线程,应用程序则可以不考虑其是否已经运行完毕而直接退出,所有的后台线程在应用程序退出时都会自动结束。 <br /> <br />网上可能提供了多种方法,但通过测试如下方法可行<br /> <br />try{ Thread.CurrentThread.Abort();}catch (ThreadAbo
2011-02-28 15:06:00
1732
转载 c#读取txt文件
<br />class Program <br />{ <br /><br />static void Main(string[] args) <br />{ <br />string strLine; <br />try <br />{ <br />Console.Write("请输入文件路径及文件名:"); <br />string mess = Console.ReadLine(); <br />FileStream aFile = new FileStream(mess, FileMode.Open
2011-02-28 11:06:00
1167
转载 线程间调用无效(跨线程调用问题)
<br />一个线程要调用主线程的的空间进行修改,如TextBox,ListBox等,会遇到线程调用无效问题,解决方法如下;<br /> <br />因为你这个控件是主线程创建的,它依附于创建窗体的主线程.因此,要在子线程去访问占资源的类型,我们需要跨线程调用.textBox4.InvokeRequire用于判断是否需要跨线程,返回True为需要跨线程,此时你需要定义一个委托类来将一个含赋值语句的方法封装起来,通过textBox4.Invoke来调用这个委托.代码如下: <br />public del
2011-02-25 11:34:00
1623
转载 C#多线程编程(1):线程的启动
<br />在实例化Thread的实例,需要提供一个委托,在实例化这个委托时所用到的参数是线程将来启动时要运行的方法。在.net中提供了两种启动线程的方式,一种是不带参数的启动方式,另一种是带参数的启动的方式。<br /> 不带参数的启动方式<br /> 如果启动参数时无需其它额外的信息,可以使用ThreadStart来实例化Thread,如下面的代码:<br />view plaincopy to clipboardprint?<br />using System; <br /> using S
2011-02-25 11:26:00
898
转载 C# TCP 通信
<br />服务端:<br />using System;<br />using System.Collections.Generic;<br />using System.Text;<br />using System.Net;<br />using System.Net.Sockets;<br />namespace tcpserver<br />{<br /> class server<br /> {<br /> static void Main(string[] args)
2011-02-24 16:01:00
10321
转载 C#完整的通信代码(点对点,点对多,同步,异步,UDP,TCP)
<br />C# code <br />namespace UDPServer <br />{ <br /> class Program <br /> { <br /> static void Main(string[] args) <br /> { <br /> int recv; <br /> byte[] data = new byte[1024]; <br /> //构建TCP 服务器 <br
2011-02-24 15:57:00
5308
转载 c#UDP聊天
<br />TCP(传输控制协议)是 TCP/IP 协议栈中的传输层协议,它通过序列确认以及包重发机制,提供可靠的数据流发送和到应用程序的虚拟连接服务。与IP协议相结合, TCP组成了因特网协议的核心。<br /> UDP(用户数据报协议)是ISO参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。 UDP协议基本上是 IP 协议与上层协议的接口。UDP协议适用端口分辨运行在同一台设备上的多个应用程序。<br /> C#中,已将TCP,UDP,SMTP等协议封装为相应的类型库,提供了
2011-02-24 15:45:00
7372
转载 C# UDP通讯例子
<br />using System;<br />using System.Collections.Generic;<br />using System.ComponentModel;<br />using System.Data;<br />using System.Drawing;<br />using System.Text;<br />using System.Windows.Forms;<br />//添加的命名空间引用<br />using System.Net;<br />using Syst
2011-02-24 15:41:00
6781
1
转载 C# List 用法
C# List Examplesby Sam Allen - Updated September 6, 2009<br />Problem. You have questions about the List collection in the .NET Framework, which is located in the System.Collections.Generic namespace. You want to see examples of using List and also explo
2011-02-16 11:12:00
1043
转载 C#DataGridView分页显示代码详解
<br />//导入命名空间部分省略<br /> string connectionString = @"Data Source=ServerName;Database=DatabaseName;integrated security=true";<br /> #region 初始化分页显示的参数 <br /> static int rowsall = 0;//总行数 <br /> static int pageall = 0;//总页数<
2011-02-11 17:41:00
4777
原创 SQL查询结果显示在datagridview
<br />///<summary><br /> ///显示查询结果<br /> ///</summary><br /> ///<param name="str">查询关键字</param><br /> privatevoid ShowDeptResult(string str)<br /> {<br /> string conStr = "Data Source = localhost; Integrated Se
2011-02-10 11:43:00
7727
转载 C# 回车(键盘)事件
在KeyPress事件中 private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e) { if(e.KeyChar==(char)13) { this.textBox2.Focus(); } }===============================================================
2011-02-10 11:14:00
46107
2
转载 WinForm开发,窗体显示和窗体传值相关知识总结
<br />http://www.cnblogs.com/aierong/archive/2008/11/17/WinForm.html<br />以前对WinForm窗体显示和窗体间传值了解不是很清楚<br />最近做了一些WinForm开发,把用到的相关知识整理如下 <br />A.WinForm中窗体显示<br />显示窗体可以有以下2种方法:<br />Form.ShowDialog方法 (窗体显示为模式窗体)<br />Form.Show方法 (窗体显示为无模式窗体) <br />2者具体区别如下
2011-01-27 15:05:00
776
原创 vs2005打不开的原因
<br />今天打开vs2005的时候打不开了.到了启动画面就不动了.一开始还以为是我昨天机子备份弄的 晕<br />想了下,也不可能,备份也不损坏文件啊.。在想了下自己在备份前还装过虚拟机(VMware),按过linux的系<br />统。只好网上找找原因去,果然的虚拟机的问题。<br /> 原来是按完vs2005,在按虚拟机的时候,它修改了注册表。给vs加了一个外部的工具<br />(VMDebugger),问题就出在这里。加在这里后。就出现了打不开vs的问题。只停靠在启动画面那。开始<br
2011-01-21 09:16:00
955
转载 C#重绘TabControl的Tabpage标签,添加图片及关闭按钮
<br />using System; <br />using System.Collections.Generic; <br />using System.ComponentModel; <br />using System.Data; <br />using System.Drawing; <br />using System.Linq; <br />using System.Text; <br />using System.Windows.Forms; <br />
2010-12-31 17:15:00
5548
转载 DataGirdView导出EXCEL文件
<br /> ///<summary><br /> /// 将DataGirdView数据,导出EXCEL文件.<br /> ///</summary><br /> ///<param name="dgv">DataGridView控件名称</param><br /> ///<param name="name">导出excel文件名称</param><br /> publicstaticvoid ToExcel(DataGridView
2010-12-31 11:05:00
957
转载 正则
<br />"^/d+$" //非负整数(正整数 + 0) <br />"^[0-9]*[1-9][0-9]*$" //正整数 <br />"^((-/d+)|(0+))$" //非正整数(负整数 + 0) <br />"^-[0-9]*[1-9][0-9]*$" //负整数 <br />"^-?/d+$" //整数 <br />"^/d+(/./d+)?$" //非负浮点数(正浮点数 + 0) <br />"^(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9
2010-12-31 11:03:00
381
转载 Microsoft.CSharp.targets不存在解决方法
<br />经过实践,这个需要修改一下项目文件(.csproj) <br />把 <Import Project="$(MSBuildToolsPath)/Microsoft.CSharp.targets" /> <br />替换成: <br /><Import Project="$(MSBuildBinPath)/Microsoft.CSharp.targets" /> <br /><br />即可解决啦<br />本文出自 “linkboy” 博客,请务必保留此出处http://linkboy.blo
2010-12-30 09:24:00
1514
转载 VS2005打开VS2008项目的2种方法(转)
<br />vs2008支持.net3.5,而vs2005支持.net2.0,所以使用vs2005打开vs2008的项目,要确定你的项目是.net2.0的。<br /><br />下面介绍2种方法:<br /><br />方法1:用记事本打开.sln文件,你将看到<br />Microsoft Visual Studio Solution File, Format Version 10.00<br /># Visual Studio 2008<br />你把它改成:<br />Microsoft Visua
2010-12-29 13:53:00
377
原创 button按钮绑定快捷键
<br />其实很简答:<br /> <br /> 把按钮那里把Text改成例如:(退出&A)那么你按ALT+A就是退出按钮的功能
2010-12-28 16:02:00
3342
转载 The row value(s) updated or deleted either do not make the row unique or they alter multiple rows.
<br />I came across an error today in SQL Server 2005. <br /> <br /> <br />The row value(s) updated or deleted either do not make the row unique or they alter multiple rows.<br /> <br />The reason I got this error was because I created a table for a data
2010-12-21 16:36:00
3633
转载 C# ListView实现点击列表头实现排序
C# code using System;using System.Collections;using System.Windows.Forms;namespace Common{ ///<summary>/// 对ListView点击列标题自动排序功能 ///</summary>publicclass ListViewHelper { ///<summary>/// 构造函数 ///</summary>public Li
2010-12-20 11:50:00
5603
转载 C# 全角半角转换
<br />/**//// <summary><br /> /// 转全角的函数(SBC case)<br /> /// </summary><br /> /// <param name="input">任意字符串</param><br /> /// <returns>全角字符串</returns><br /> ///<remarks><br /> ///全角空格为12288,半角空格为32<br /> ///
2010-12-20 09:26:00
548
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人