![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
.Net技术
文章平均质量分 54
BeelinkerLidejun
什么是大人物?就是不断努力的小人物。
展开
-
怎样把C#编写的程序变成可以安装的软件
C#源文件转化成可安装文件的步骤如下: 1.打开要打包的“.lsn”文件,在“解决方案资源管理器”中随便打开一个窗口 2.菜单栏“文件”--->“添加”--->“新建项目” 3. 点击“项目类型”--->“其他项目类型”--->“安装和部署”,再在“模板”点击“安装项目”,点击“确定” 4.在“文件系统”中点击“应用程序文件夹”,右边框变空白,在空白处右击鼠标,“添加”--->点击“项目输出”,出转载 2009-08-03 08:52:00 · 3497 阅读 · 2 评论 -
在连接到SQL Server2005时,在默认的设置下SQL Server不允许进行远程连接可能会导致此失败--的解决
<br />这篇是在当时比较系统的解决的时候,就想发布的,可是一直懒得写,现在想想来博客园都那么久了.也该有点东西了吧.这个应该可以帮助很多像我一样的新手少走弯路,把时间经历用在更好的地方.<br /> <br />Sql Server2005 ,我们远程连接无法连接上的用这3步就可以了<br />1.在"外围配置"工具把"允许TCP/IP和命名管道"勾上,当然"仅TCP/IP"也可以<br /><br /><br /> 图1:外围转载 2011-03-12 22:29:00 · 732 阅读 · 0 评论 -
静态变量与静态方法
1.静态变量在C#程序中,没有全局变量的概念,这意味着所有的成员变量只有该类的实例才能操作这些数据,这起到了“信息隐藏”的作用。但有些时候,这样做却不是个明智的选择。假设我们要定义一个图书类,要求该类能保存图书的数量,即每增加一本图书(定义一个实例),图书的数量应该加1。如果没有静态变量,我们需要将图书的数量保存在每本图书(实例)里,然而,这样的变量要在不同图书(实例)里重复存储,转载 2009-09-22 10:56:00 · 1188 阅读 · 0 评论 -
在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke 解决
在Window窗体程序开发的时候,如果使用多线程编程,在子线程中访问主线程窗体内的控件,就需要使用控件的Control.Invoke方法或者BeginInvoke方法。但是有时候因为Window执行速度太快,尤其是你写代码的时候在InitializeComponent();完成之前起了一个线程去执行某些操作,涉及到窗体控件的,当你在调用Control.Invoke的时候,就可能出现 “在创建窗口句转载 2009-09-29 14:33:00 · 10916 阅读 · 3 评论 -
线程间通信 ManualResetEvent
在socket网络编程过程中,连接、发送数据、接收数据都要用到ManualResetEvent 来协调异步通信进程。连接sock.BeginConnect(MyServer, new AsyncCallback(ConnectCallback), sock) connectDone.WaitOne()原创 2009-09-27 17:44:00 · 985 阅读 · 0 评论 -
Sql server 2000 远程访问数据库
花了一天半的时间,终于把这个问题解决了,和大家分享一下。第一步:局域网内远程访问数据库服务器。刚开始,我将数据库服务器放在我公司的服务器上。(公司的服务器是手动分配的固定IP地址,改IP在路由器上作了端口映射,端口为8888,此端口为外网访问服务器的专用端口)。我用客户端去连公司的服务器,可是出现了连接异常:大概为“provide:命名管道提供程序 error:40 无法打开到 sql s原创 2009-09-08 09:23:00 · 2947 阅读 · 0 评论 -
vS2005 panel 重叠放置时的小问题
我先用splitContainer将Form分割后,在splitContainer.panel中重叠放置了3个panle.在每个panel中又用splitContainer将每个panel分割,这时候就出现了问题。不能使重叠的三个panel重新放置在同一个父窗体内。原因是每个panel内部的spllitContainer都停靠在自己的父窗体内(即panel内)。这时候panel的父窗体原创 2009-08-28 10:49:00 · 1578 阅读 · 0 评论 -
C#多线程编程(1):线程的启动
C#多线程编程(1):线程的启动 收藏 在实例化Thread的实例,需要提供一个委托,在实例化这个委托时所用到的参数是线程将来启动时要运行的方法。在.net中提供了两种启动线程的方式,一种是不带参数的启动方式,另一种是带参数的启动的方式。 不带参数的启动方式 如果启动参数时无需其它额外的信息,可以使用ThreadStart来实例化Thread,如下面的代码:转载 2009-08-14 15:50:00 · 659 阅读 · 0 评论 -
TCP客户端
使用异步客户端套接字异步客户端套接字在等待网络操作完成时不挂起应用程序。相反,它使用标准 .NET 框架异步编程模型在一个线程上处理网络连接,而应用程序继续在原始线程上运行。异步套接字适用于大量使用网络或不能等待网络操作完成才能继续的应用程序。Socket 类遵循异步方法的 .NET 框架命名模式;例如,同步 Receive 方法对应异步 BeginReceive 和 EndRecei转载 2009-08-12 15:47:00 · 1698 阅读 · 1 评论 -
判断十六进制数据是否合法
private bool IsValidByte()//判断十六进制数据是否合法 { try { string[] strHEX = richTextBox_Send_1.Text.Split(" ".ToCharArray()); byte[] byteData = new b原创 2009-08-11 16:57:00 · 4220 阅读 · 0 评论 -
将IP+Port转换成标准格式***.***.***.***:*****
private string IPandPort(string temp) { string ipandport = temp; string[] strDetail = ipandport.Split(":".ToCharArray()); string iptemp = strDetail[0];原创 2009-08-11 16:55:00 · 1021 阅读 · 0 评论 -
写日志追踪程序运行过程
using System;using System.IO;using System.Runtime.InteropServices;namespace 超级DTU{ class SystemFile { private static string m_fileName = AppDomain.CurrentDomain.BaseDirectory + "客户端.txt原创 2009-08-11 16:58:00 · 1263 阅读 · 0 评论 -
将字符串转换成十六进制
private byte[] GetValidByte()//获取发送的字节流 { string[] strHEX = richTextBox_Send_1.Text.Split(" ".ToCharArray()); byte[] byteData = new byte[strHEX.Length]; try原创 2009-08-11 16:54:00 · 1372 阅读 · 0 评论 -
修改HashTable的Value
1,根据Hashtable的key 修改相应value的问题 问题描述 public Hashtable favoriteHashTableFolder = new Hashtable(); favoriteHashTableFolder.put( "1","a"); favoriteHashTableFolder.put( "2","b");原创 2009-08-11 10:36:00 · 2233 阅读 · 0 评论 -
Invoke的用法(C#)
在多线程编程中,我们经常要在工作线程中去更新界面显示,而在多线程中直接调用界面控件的方法是错误的做法,Invoke 和 BeginInvoke 就是为了解决这个问题而出现的,使你在多线程中安全的更新界面显示。正确的做法是将工作线程中涉及更新界面的代码封装为一个方法,通过 Invoke 或者 BeginInvoke 去调用,两者的区别就是一个导致工作线程等待,而另外一个则不会。而所谓的“一面转载 2009-08-03 08:50:00 · 9068 阅读 · 3 评论