文章分类 -  C#

my study article
摘要:Compare 比较字符串的内容,考虑文化背景(场所),确定某些字符是否相等CompareOrdinal 与Compare一样,但不考虑文化背景Format 格式化包含各种值的字符串和如何格式化每个值的说明符IndexOf 定位字符串中第一次出现某个给定子字符串或字符的位置IndexOfAny 定位字符串中第一次出现某个字符或一组字符的位置LastIndexOf 与IndexOf一样,但定位最后一次出现的位置 LastIndexOfAny 与IndexOfAny,但定位最后一次出现的位置PadLeft 在字符串的开头,通过添加指定的重复字符填充字符串PadRight 在字符串的结尾,通过添加指 阅读全文
posted @ 2011-07-21 09:37 bingzer 阅读(193) 评论(0) 推荐(0)
摘要:--------------------------------------------------------------------------------------------------------------------------------------- /// <summary> /// 提供全屏和指定窗口的截图 以及保存为文件的类 /// </summary> public class ScreenCapture { /// <summary> /// 全屏截图 /// </summary> /// <returns&g 阅读全文
posted @ 2011-07-21 09:36 bingzer 阅读(299) 评论(0) 推荐(0)
摘要:在多线程的程序中,经常会出现两种情况:一种情况: 应用程序中,线程把大部分的时间花费在等待状态,等待某个事件发生,然后才能给予响应这一般使用ThreadPool(线程池)来解决;另一种情况:线程平时都处于休眠状态,只是周期性地被唤醒这一般使用Timer(定时器)来解决;ThreadPool类提供一个由系统维护的线程池(可以看作一个线程的容器),该容器需要 Windows 2000 以上系统支持,因为其中某些方法调用了只有高版本的Windows才有的API函数。将线程安放在线程池里,需使用ThreadPool.QueueUserWorkItem()方法,该方法的原型如下://将一个线程放进线程池 阅读全文
posted @ 2011-07-21 09:34 bingzer 阅读(135) 评论(0) 推荐(0)
摘要:在ASP.NET中实现AJAXAsynchronous JavaScript and XML(Ajax)最近掀起的高潮,要完全归功于Google在Google Suggest和Google Maps中的使用。对ASP.NET而言,Ajax不需要回传就能进行服务器端处理,从而使客户机(浏览器)具有丰富的服务器端能力。换句话说,它为异步指派和处理请求与服务器响应提供了一个框架。Ajax利用了一些不是很新颖的已有技术,但是对这些技术(加到一起就是Ajax)的爱好最近突然升温。 请尝试Michael Schwarz的AJAX .NET包装器,通过它ASP.NET开发人员可以快速方便的部署很容易利用AJ 阅读全文
posted @ 2011-03-25 21:43 bingzer 阅读(108) 评论(0) 推荐(0)
摘要:以DISCUZ论坛为例,读取每个分论坛前十条帖子1.http://dev.mysql.com/downloads/connector/net/1.0.html进入MYSQL官方站这里下载MySQLConnector/Net,有两个下载项,第一个是MSI安装文件,第二个是ZIP,建议下载第一个,下载完后解压缩,安装。2.打开VS,选择或新建项目,网站或资源管理器-添加引用,找到MySQLConnector/Net的安装目录,会看见有几个文件夹分别为DONET不同版本设计的组件,我用的是2.0,所以引用2.0里面的那个DLL。3.在WEBCONFIG中新加一个连接字符串&lt;addkey 阅读全文
posted @ 2011-02-13 13:47 bingzer 阅读(940) 评论(0) 推荐(1)
摘要:简介ASP.NET的服务端控件使得Web研发工作变得更为简单,功能更为强大。我们介绍过怎么在ASP.NET页面中使用服务端控件。不过,如果服务端没有所需求的控件时该怎么办呢?当然,ASP.NET不会给你变出一个莫须有的控件。事实上,能动手作自己的控件来取代.NET提供的控件。这种控件就是用户控件,也正是本文讨论的话题。编写第一个用户控件有人认为,知道怎么使用服务端控件可不一定说明编写用户控件是件容易的事。事实上,编写一个基本用户控件(有时也称之为pagelets)并让ASP.NET页面象使用服务端控件那样使用这些控件的确是件简单的事。这里有一个简单示例:basic.ascx pThis i 阅读全文
posted @ 2011-01-28 23:54 bingzer 阅读(212) 评论(0) 推荐(0)
摘要:DataBinder.Eval 它带有三个参数:数据项的命名容器、数据字段名称和格式化字符串。 在模板列表如DataList、DataGrid、或 Repeater,命名容器总是Container.DataItem。 Page 是另一个可以被DataBinder.Eval使用的命名容器。 %# DataBinder.Eval(Container.DataItem, "IntegerValue", "{0:c}") % 格式化字符串参数是可选的。如果忽略参数,DataBinder.Eval 返回对象类型的值,//显示二位小数//%# DataBinder.Eval(Container.Da 阅读全文
posted @ 2011-01-28 16:33 bingzer 阅读(221) 评论(0) 推荐(0)
摘要:%# Bind("Subject") % //绑定字段%# Container.DataItemIndex + 1% //实现自动编号%# DataBinder.Eval(Container.DataItem, "[n]") %通常使用的方法(这三个性能最好)%# DataBinder.Eval(Container.DataItem, "ColumnName") %%# DataBinder.Eval(Container.DataItem, "ColumnName", null) %%# DataBinder.Eval(Container, "DataItem.Colum 阅读全文
posted @ 2011-01-28 16:32 bingzer 阅读(153) 评论(0) 推荐(0)
摘要:ASP.NET Eval在数据绑定方面的应用是众所周知的,不过技术在发展,当ASP.NET Eval 1.1变成ASP.NET Eval 2.0的时候,在操作的时候会有什么变化呢?  假设你已经了解ASP.NET Eval 1.1的数据绑定(特别是Container这个局部变量)的机制,这里主要分析ASP.NET Eval 2.0数据绑定做了那些改进.  ASP.NET Eval 2.0 的数据绑定函数Eval()简化掉了ASP.NET Eval 1.1神秘的Container.DataItem,比如数据绑定表达式:  %# (Container.DataItem as DataRowVie 阅读全文
posted @ 2011-01-28 16:16 bingzer 阅读(190) 评论(0) 推荐(0)
摘要:protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { //非回发时加载树 TreeView1为aspx上的树控件 readSysTree(TreeView1); } } /// /// 加载树 ... 阅读全文
posted @ 2011-01-28 16:13 bingzer 阅读(336) 评论(0) 推荐(0)
摘要:上一篇文章中,说到了委托,现在就来说说事件吧,其实事件就是一种特殊的委托。 有事件,就会有对事件进行处理的方法,而事件和处理方法之间是怎么联系起来的呢? 委托就是他们中间的桥梁,事件发生时,委托会知道,然后将事件传递给处理方法,处理方法进行相应处理。 比如,在WinForm中最常见的是按钮的Click事件,它是这样委托的:this.button1.Click+=new System.EventHandler(this.button1_Click);按钮按下后就会触发button1_Click方法进行处理。 EventHandler就是系统类库里已经声明的一个委托。this.button1.C 阅读全文
posted @ 2011-01-27 15:20 bingzer 阅读(150) 评论(0) 推荐(0)
摘要:一、委托 委托类似于函数指针,但函数指针只能引用静态方法,而委托既能引用静态方法,也能引用实例方法。 委托使用分三步:1、委托声明。2、委托实例化。3、委托调用。 二、例子: delegate int NumOpe(int a,int b); //第一步,声明委托 class Class1 { static void Main(string[] args) { Class1 c1 = new Class1(); NumOpe d1 = new NumOpe(c1.Add);//委托实例化,注意参数是要使用的方法名,且不带括号 Console.WriteLine(d1(1, 2));//委托调用 阅读全文
posted @ 2011-01-27 15:19 bingzer 阅读(260) 评论(0) 推荐(0)
摘要:面向对象思想有三个核心要素:封装、继承与多态。如能正确理解这三要素,那么基本上可以算是在编程中建立了面向对象思想。在第二节中我曾介绍,在 C#中,所有数据类型的实例都是“对象”,不过最能体现对象特质的类型,还是“类”,同时它也是C#中最重要、最频繁使用的类型。接下来,我将通过介绍 C#的类,来充分理解对象封装的概念。所谓“对象”,形象地说,我们可以把它理解为一块积木。设计积木的人需要设计积木的外观与形状,还有内部的材质。堆积木的人对于内部的材质并不关心,他们只需要根据不同的外观与形状来决定堆放的位置。因此,对于开发者而言,要设计面向对象的程序,同时会是两个迥然不同的身份:设计者与使用者。先谈谈 阅读全文
posted @ 2011-01-27 10:49 bingzer 阅读(2378) 评论(0) 推荐(4)
摘要:try{int Num1 = Convert.ToInt32(txtnum1.Text);}catch{MeseegeBox.Show("txtnum1不是数字");return;} 阅读全文
posted @ 2011-01-26 23:49 bingzer 阅读(153) 评论(0) 推荐(0)
摘要:可以用递归的方法,就可以一次性删除页面上的文本框的值,不管这个文本框在多少级容器中.private void ClearText(ControlCollection Controls) { foreach (Control item in Controls) { if (item.Controls.Count 0) { ClearText(item.Controls); } if (item is TextBox) { ((TextBox)item).Text = ""; } } } 阅读全文
posted @ 2011-01-26 22:47 bingzer 阅读(124) 评论(0) 推荐(0)
摘要:比如一个类叫 MyClass, 有个方法叫MyFunction那么要这样调用MyClass1 myClassObj = new MyClass1(); //构造函数string szResult = myClassObj.MyFunction(); //类方法 阅读全文
posted @ 2011-01-26 14:46 bingzer 阅读(122) 评论(0) 推荐(0)
摘要:Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE MicrosoftInternetExplorer4 构造函数与析构函数是一个类中看似较为简单的两类函数,但在实际运用过程中总会出现一些意想不到的运行错误。本文将较系统的介绍构造函数与析构函数的原理及在C#中的运用,以及在使用过程中需要注意的若干事项。   关键字:构造函数;析构函数;垃圾回收器;非托管资源;托管资源  一.构造函数与析构函数的原理  作为比C更先进的语言,C#提供了更好的机制来增强程序的安全性。C#编译器具有严格的类型安全检查功能,它几乎能找出程序中所 阅读全文
posted @ 2011-01-26 14:32 bingzer 阅读(385) 评论(0) 推荐(0)
摘要:Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE MicrosoftInternetExplorer4 阅读本文章之前的准备  阅读本文章前,需要读者对以下知识有所了解。否则,阅读过程中会在相应的内容上遇到不同程度的问题。  懂得ASP/ASP.NET编程   了解ASP/ASP.NET的Session模型   了解ASP.NETWeb应用程序模型   了解ASP.NETWeb应用程序配置文件Web.config的作用、意义及使用方法   了解InternetInformation Services(以下简称IIS)的 阅读全文
posted @ 2011-01-26 12:13 bingzer 阅读(144) 评论(0) 推荐(0)
摘要:在c# / ASP.net中我们可以通过使用DataTime这个类来获取当前的时间。通过调用类中的各种方法我们可以获取不同的时间:如:日期(2008-09-04)、时间(12:12:12)、日期+时间(2008-09-04 12:11:10)等。//获取日期+时间DateTime.Now.ToString(); // 2008-9-4 20:02:10DateTime.Now.ToLocalTime().ToString(); // 2008-9-4 20:12:12//获取日期DateTime.Now.ToLongDateString().ToString(); // 2008年9月4日Da 阅读全文
posted @ 2011-01-26 10:34 bingzer 阅读(6065) 评论(0) 推荐(0)
摘要:若是在绑定数据后加上一项“请选择”列,就把"请选择"这项Item加在了最后面! 有方法可以把它加在第一项,也就是下拉列表的顺序是“请选择”,并且使得它指定VALUE是“0 1、先绑定 (判断是否页面第一次加载) 2、然后.Items.Insert(0,new ListItem("请选择","0")); 阅读全文
posted @ 2011-01-26 10:33 bingzer 阅读(118) 评论(0) 推荐(0)