随笔分类 - .NET学习笔记
C#中将ListView中数据导出到Excel
摘要:首先 你需要添加引用Microsoft Excel 11.0 Object Library添加方法:选择项目->引用->右击“添加引用”->选择COM 找到上面组件—>点击“确定”。实现代码如下: private void 导出数据_Click(object sender, EventArgs e) { ExportToExecl(); } /// <summary> /// 执行导出数据 /// </summary> public void ExportToExecl() { System.Windows.Forms...
阅读全文
让DataGridView显示行号
摘要:如果DataGridView控件能显示行号,对我们寻找数据就非常方便,但DataGridView默认的属性中,不可设置显示行号。本文在DataGridView的RowPostPaint事件中进行绘制,实现了这个功能,其效果如下:为了表示行号,我们可以在DataGridView的RowPostPaint事件中进行绘制。RowPostPaint事件,具体可以参照MSDN。下面是实现代码: private void Form1_Load(object sender, System.EventArgs e) { dataGridView1.Dock =...
阅读全文
详解使用C#制作不规则窗体的方法
摘要:本文转自翔宇网http://www.biye5u.com/article/Csharp/winform/2010/2593.html以前想制作不规则窗体,大多使用API函数来实现,在C#中,也可以不使用API函数照样能制作出漂亮的不规则窗体,下面就介绍一下相关方法。1、首先准备一张BMP格式的图片图片的形式随意,但注意图片的背景最好设置成C#中提供的一些色系,如白色(#FFFFFF\white)、黑色(#000000\black)、黄色(#FFFF00\yellow)、蓝色(#0000FF\blue)、红色(#FF0000\red)或绿色(#00FF00\green)等。本文使用如下形式的图片
阅读全文
(转)C#中访问私有成员
摘要:首先我必须承认访问一个类的私有成员不是什么好做法。大家也都知道私有成员在外部是不能被访问的。而一个类中会存在很多私有成员:如私有字段、私有属性、私有方法。对于私有成员访问,可以套用下面这种非常好的方式去解决。private string name;public string Name{ get { return name; } set { name = value; }} 但是有时候,源代码是别人的,你就不能修改源代码,只提供给你dll。或者你去维护别人的代码,源代码却有丢失。这样的情况如果你想知道私有成员的值,甚至去想直接调用...
阅读全文
C#的隐式枚举转换
摘要:隐式枚举转换允许把十进制整数0 转换成任何枚举类型,对应其它的整数则不存在这种隐式转换,下面用一个例子来具体说明本问题:using System; enum Weekday{ Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday };class Test { public static void Main() { Weekday day; ...
阅读全文
VS2010不能引用System.Data.OracleClient解决方法
摘要:在使用VS2010的时候有时会带不出System.Data.OracleClient这个引用,可以使用以下解决方法:右击项目的属性,在弹出窗口中有一个“目标框架”下拉框选项,默认会是.NET FRAMWORK 4 CLIENT PROFILE,当选项是这个的时候,如果添加引用OracleClient这个dll的话是找不到的,将此选项更改为.NET FRAMWORK 4。看了.NET Framework 4与.NET Framework 4 Client Profile 的区别就知道原因了。.NET Framework 4与.NET Framework 4 Client Profile 的区别?
阅读全文
FileStream对象的使用
摘要:FileStream对象表示在磁盘或网络路径上指向文件的流。这个类提供了在文件中读写字节的方法,但经常使用StreamReader或StreamWriter执行这些功能。这是因为FileStream类操作的是字节和字节数组,而Stream类操作的是字符数据。字符数据易于使用,但是有些操作,比如随机文件访问(访问文件中间某点的数据),就必须由FileStream对象执行,稍后对此进行介绍。还有几种方法可以创建FileStream对象。构造函数具有许多不同的重载版本,最简单的构造函数仅仅带有两个参数,即文件名和FileMode枚举值。FileStream fs = new FileStream(f
阅读全文
【C#】调用API函数给Winform窗体添加动态特效(转)
摘要:想让你的Winform窗体美化得更炫、更美丽,光是有漂亮的C#皮肤、背景贴图等这些静态的部分是远远不够的,还需要有一些动态部分的加持才能让你的程序界面有更好的用户体验。这里要介绍的是调用user32.dll中的API函数来给Winform界面添加动态特效。user32.dll是Windows用户界面相关应用程序接口,用于包括Windows处理,基本用户界面等特性,如创建窗口和发送消息。与C++一样,在C#中同样可以利用user32里面的一些API函数来开发WINFORM程序。1.导入user32.dll并声明API函数AnimateWindow//导入user32.dll[System.Run
阅读全文
c#经典面试题:猫叫,主人醒,老鼠跑
摘要:实现方法:分3个类实现,分别为猫类,老鼠类,主人类。猫类:定义一个猫叫事件;老鼠类:订阅猫叫事件,在猫发出叫声这个事件后,老鼠逃跑;主人类:类似于老鼠类,在猫发出叫声这个事件后,主人醒来;猫类实现如下:namespace CarCry{ /// <summary> /// 猫类的定义 /// </summary> public class Cat { //猫名 private string _name; //猫叫事件 public event EventHandler<CatCryEventArgs> CatCryEvent; /// <sum
阅读全文
通过URL读取文件内容
摘要:using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.IO; using System.Net; using System.Text.
阅读全文
(转)Linq学习笔记
摘要:写在前面最近在看Linq,在博客园看到这篇文章,写的通俗易懂,转来和大家一起做个分享。原文地址http://www.cnblogs.com/goscan/archive/2011/05/05/Linq_study_log.html什么是LinqLINQ是Language Integrated Query的简称,它是集成在.NET编程语言中的一种特性。已成为编程语言的一个组成部分,在编写程序时可以得到很好的编译时语法检查,丰富的元数据,智能感知、静态类型等强类型语言的好处。并且它同时还使得查询可以方便地对内存中的信息进行查询而不仅仅只是外部数据源。Linq包括Linq to Objects,Li
阅读全文
为RichTextBox添加快捷功能菜单(复制, 剪切,粘贴,全选)
摘要:实现该菜单功能主要有两种方法:第一种:通过发送击键到应用程序来实现。先焦点定位到当前活动的RichTextBox,然后再通过发送击键命令来实现操作功能richTextBox1.Focus();SendKeys.Send("^a");//全选SendKeys.Send("^c");//复制SendKeys.Send("^x");//剪切SendKeys.Send("^v");//粘贴第二种:直接通过命令操作剪贴板实现//复制Clipboard.SetData(DataFormats.Rtf, richTextBox1
阅读全文
C#获取程序当前路径的方法汇总
摘要://获取当前进程的完整路径,包含文件名(进程名)。string str = this.GetType().Assembly.Location;result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名)//获取新的 Process 组件并将其与当前活动的进程关联的主模块的完整路径,包含文件名(进程名)。string str = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名)//
阅读全文
ViewStateDecoder查看ViewState
摘要:从运行的ASP.NET应用程序中,首先注意的是页面的会送功能。这对于开发人员真的是一个好处,开发人员不用手动保存服务器的每次往返之间的信息。ASP.NET为服务的服务器控件(服务器控件使用runat=’”server”属性指定)提供视图状态。当ASP.NET为HTML的形式呈现页面时,它创建一个隐藏的窗体字段,成为_ViEWSTATE。这个字段是一个加密的、标记化得字符串(可以通过工具ViewStateDecoder查看,可以到网上下载),包含ASP.NET页面上每个控件的名/值对。每个控件存储的值实际上时控件关联的值和状态信息。当页面被发送到服务器是,ASP.NET可以轻松地使用这些值并重.
阅读全文
用C#读写文件的方法
摘要:通常我们读取一个文件使用如下的步骤:1、声明并使用File的OpenRead实例化一个文件流对象,就像下面这样2、准备一个存放文件内容的字节数组,fs.Length将得到文件的实际大小,就像下面这样3、开始读了,调用一个文件流的一个方法读取数据到data数组中FileStream fs = File.OpenRead(filename); 或者 FileStream fs = FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.Read); byte[] data = new byte[fs.Length]; fs.Re
阅读全文
c# winform 设置winform进入窗口后在文本框里的默认焦点
摘要:进入窗口后默认聚焦到某个文本框,两种方法:①设置tabindex把该文本框属性里的tabIndex设为0,焦点就默认在这个文本框里了。②Winform的Activated事件在Form的Activated事件中添加textBox1.Focus(), 即可获得焦点。 private void Form1_Activated(object sender, EventArgs e) { textBox1.Focus(); }TextBox是可以获得焦点的. 有几个前提:1. TextBox所属的窗体(Form)在可操作(Active)状态. 即用户选中了Form.2. TextBox的Enable属
阅读全文
C#实现XML与DataTable互转
摘要:C#中XML与datatable互换的两个函数: private string ConvertDataTableToXML(DataTable xmlDS) { MemoryStream stream = null; XmlTextWriter writer = null; try { stream = new MemoryStream(); writer = new XmlTextWriter(stream, Encoding.Default); xmlDS.WriteXml(writer); int count = (int)stream.Length; byte[] arr = new
阅读全文
C#中如何判断键盘按键和组合键
摘要:好记性不如烂笔头子,我之前对这句话很不以为然,现在好多东西一段时间不用不接触就忘记了,所以,现在记录下来,不一定会有很详尽的实例,只写最核心的部分。C# winform的窗体类有KeyPreview属性,可以接收窗体内控件的键盘事件注册。窗体和控件都有KeyDown,KeyUp,KeyPress三个事件,每个事件都会有KeyEventArgs参数传入,只要判断传入参数的KeyChar就可以了,Framework提供了Keys枚举来表示键盘上的各个键。核心判断的代码如下:1.单键判断if (e.KeyCode == Keys.Delete){ //处理逻辑} 2.组合建判断: if (e.Mod
阅读全文
在WinForm中通过C#调用CHM帮助文件(转)
摘要:方法一:通过.Net Framework提供的Help类来完成CHM帮助文件的调用。 若要为应用程序提供帮助,调用Help类 ShowHelp 和 ShowHelpIndex 静态方法。 For example: 1. 显示指定 URL 处的帮助文件内容。 string helpfile = “helpfile.chm”; Help.ShowHelp(this, helpfile); *** ShowHelp方法还有许多重载,请参考MSDN。 2. 显示指定帮助文件的索引。 Help.ShowHelpIndex(this, helpfile);方法二:通过进程Process去调用。For ex
阅读全文
C# .NET 获取网络适配器信息和路径信息
摘要:C# .NET 获取网络适配器信息1:NetworkInterface类:该类位于 System.Net.NetworkInformation 命名空间该类可以方便的检测本机有多少个网卡(网络适配器),网卡信息,哪些网络连接可用等。2:常用方法和属性:using System.Net.NetworkInformation;namespace ConsoleApplication1{ class Program { static void Main(string[] args) { NetworkInterface[] adapters = NetworkInterface.GetAllNetw
阅读全文