易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : c#

C#中将控件数据导出Excel

在asp.net项目中的一个把数据 导出Excel表格的小事件如下:
 protected void ibnOut_Click(object sender, ImageClickEventArgs e)//导出Excel按钮的点击事件
        {
              GridView2.DataSource = dt;//dt是查询出的结果集
                GridView2.DataBind();
                Response.Clear();
                Response.Buffer = true;
                Response.Charset = "UTF-8";
                Response.AppendHeader("Content-Disposition", "attachment;filename=FileName.xls");
       & ......

C#接口与抽象类的区别【转载】

      一、抽象类:
      抽象类是特殊的类,只是不能被实例化;除此以外,具有类的其他特性;重要的是抽象类可以包括抽象方法,这是普通类所不能的。抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们。另外,抽象类可以派生自一个抽象类,可以覆盖基类的抽象方法也可以不覆盖,如果不覆盖,则其派生类必须覆盖它们。
       二、接口:
      接口是引用类型的,类似于类,和抽象类的相似之处有三点:
       1、不能实例化;
       2、包含未实现的方法声明;
       3、派生类必须实现未实现的方法,抽象类是抽象方法,接口则是所有成员(不仅是方法包括其他成员);
       另外,接口有如下特性:
接口除了可以包含方法之外,还可以包含属性、索引器、事件,而且这些成员都被定义为公有的。除此之外,不能包含任何其他的成员,例如:常量、域、构造 ......

C#调用 win32遍历win桌面控件的算法

private static int level=0
public static int FindGUILike(ref int hWndArray,int hWndStart,ref string windowText,ref string className,ref string parentText)
{
int hwnd=0;
int r=0;
StringBuilder sWindowText=new StringBuilder();
StringBuilder sClassname=new StringBuilder();
StringBuilder sParentText=new StringBuilder();
if(level==0)
{
  hWndTarget=0;
  if(hWndTarget==0) hWndStart = GetDesktopWindow();
}
level=level+1;
hwnd=GetWindow(hWndStart,GW_CHILD);
while(hwnd!=0)
{
   r=Find
}
} ......

c# 文件传输

send :
string path = "E:\\c#\\convey_file\\convey_file\\Form1.cs"; //要传输的文件
TcpClient client = new TcpClient();
client.Connect(IPAddress.Parse("192.168.0.52"),9999);
FileStream file = new FileStream(path,FileMode.Open,FileAccess.Read); //注意与receive的filestream的区别
BinaryReader binaryreader = new BinaryReader(file);
byte[] b = new byte[4098];
int data;
Console.WriteLine("正在发送文件");
while ((data = binaryreader.Read(b, 0, 4098)) != 0) //这个注意是将文件写成流的形式
{
client.Client.Send(b,data,SocketFlags.None); //发送文件流到目标机器
}
client.Client.Shutdown(SocketShutdown.Both);
binaryreader.Close();
file.Close();
receive:
private Socket s;
TcpListener tl;
public void lis()
{
string path = "d:\\1.cs"; ......

c#和UDP SOCKET广播

server:
Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram,ProtocolType.Udp);
IPEndPoint iep1 = new IPEndPoint(IPAddress.Broadcast, 9050);//255.255.255.255
IPEndPoint iep2 = new IPEndPoint(IPAddress.Parse("192.168.1.255"), 9050);
string hostname = Dns.GetHostName();
byte[] data = Encoding.ASCII.GetBytes(hostname);
sock.SetSocketOption(SocketOptionLevel.Socket,SocketOptionName.Broadcast, 1);
sock.SendTo(data, iep1);
sock.SendTo(data, iep2);
sock.Close();
client:
Socket sock = new Socket(AddressFamily.InterNetwork,
SocketType.Dgram, ProtocolType.Udp);
IPEndPoint iep = new IPEndPoint(IPAddress.Any, 9050);
sock.Bind(iep);
EndPoint ep = (EndPoint)iep;
Console.WriteLine("Ready to receive…");
byte[] data = new byte[1024];
int recv = sock.Receivefrom ......

c# using 关键字的用法


在net中有一个至关重要的关键字,那就是using
using一般有着以下几种用法:
1、直接引入命名空间
a、using System ,这个是最常用的,就是using+命名空间,这样就可以直接使用命名空间中的类型,而免去了使用详细的命名空间
b、使用全限定名
不用使用using System;直接在程序中调用System.Console.WriteLine("Hello C#");
第一种方法是比较常用的方法,可以一次导入整个命名空间到当前命名空间,比较方便。
不过如果在当前命名空间只使用一次命名空间中的某个类,例如上例使用全限定名也是合适的。
不过在某些情况下必须使用全限定名,比如在引入的两个以上的命名空间中有重名的类,例如System下有一个Console类,在另一个自定义的命名空间MyNamespace中也有一个同名的Console类,这时如果我们在第三个命名空间中同时引入了System和MyNamespace,这时如果要使用某一个具体的Console就需要使用权限定名System.Console 或 MyNamespace.Console,否则编译器不知道我们具体使用哪一个Console,编译无法通过。
2.using别名。using + 别名 = 包括详细命名空间信息的具体的类型。
例如我们用以下语句引入System.IO.Compression命名空间:
using Zip=System.IO.Compressi ......
总记录数:642; 总页数:107; 每页6 条; 首页 上一页 [29] [30] [31] [32] 33 [34] [35] [36] [37] [38]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号