C#语言
文章平均质量分 83
tsinfeng
这个作者很懒,什么都没留下…
展开
-
为什么使用了多线程界面假死?
为什么使用了多线程界面假死?这里贴出两个项目(已经测试)。先贴不正确的多线程设计如图:引入命名空间:using System.Threading;完整代码:namespace ThreadTest1{ public partial class Form1 : Form { public转载 2015-09-24 16:02:41 · 5424 阅读 · 1 评论 -
使用delegate的两窗口实时传递
<br />在两窗口相互多次实时传递<br />在Form1窗体中:<br />using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace TestTrance原创 2010-12-27 10:49:00 · 465 阅读 · 0 评论 -
生成日期树
利用TreeView生成日期树using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace Date{ public partial class Form1原创 2010-12-19 11:23:00 · 868 阅读 · 0 评论 -
C#小知识点
1.类中变量的应用:例:string myCar=null;public string car{ get { return myCar; } set { return value; }}原创 2010-12-20 15:14:00 · 439 阅读 · 0 评论 -
当窗体改变大小时控件大小随之改变(使用函数)
这个是多么古老的话题啊,呵呵,可惜网上的解决方案都不大好。都是针对VB或者使用Dock和Anchor属性的。我实在看不过去,所以自己总结了一下。1.使用一些布局面板,比如FlowLayoutPanel,TabLayOutPanel之类,但是缺点就是样式太死了。所以本人不采用。2.采用Dock和Anchor属性。这类虽然鼠标点几下在属性栏设置一下就好,但是缺乏灵活性。只有上下左右中间几种选择。3.采用Form_Resize()。这种方法最灵活,思路是窗体变化时,直接重写这个变化函数。那么如何写呢?第一要将原来转载 2010-10-29 21:04:00 · 1617 阅读 · 0 评论 -
在.Net的WinForm开发中如何实现控件随窗体大小的改变而自动适应其改变
在.Net的WinForm开发中如何实现控件随窗体大小的改变而自动适应其改变在设计可供用户调整大小的窗体时,如何实现该窗体上的控件也应能正确地随窗体的改变而自动调整大小并且能重新定位?此时就要借助控件的.Anchor属性。Anchor属性定义控件的定位点位置。当控件锚定到某个窗体时,如果该窗体的大小被调整,那么该控件维持它与定位点位置之间的距离不变。例如,如果“:Button”控件锚定到窗体的左、右和底边缘,那么当调整该窗体的大小时,Button控件水平调整大小,维持到该窗体左边和右边的距离不变转载 2010-10-29 19:47:00 · 1006 阅读 · 0 评论 -
中序表达式求值
<br />对于一个数学表达式,语言编译系统是怎么求值的呢?<br />通常的做法是对一个数学中序表达式求逆波兰式(后序表达式),然后再求值。<br /> <br />笔者用C#写了一个中序表达式求值的类,以供参考<br /> <br />using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Expression{ class Exp {原创 2010-10-03 15:00:00 · 2473 阅读 · 0 评论 -
文件夹操作函数及介绍
首先要熟悉.NET中处理文件和文件夹的操作。File类和Directory类是其中最主要的两个类。了解它们将对后面功能的实现提供很大的便利。 本节先对和文件系统相关的两个.NET类进行简要介绍。 System.IO.File类和System.IO.FileInfo类主要提供有关文件的各种操作,在使用时需要引用System.IO命名空间。下面通过程序实例来介绍其主要属性和方法。 (1) 文件打开方法:File.Open () 该方法的声明如下: public static转载 2010-09-18 14:00:00 · 816 阅读 · 0 评论 -
一个阴历阳历互相转化的类(c#源码)
然后就写了一个阴历阳历互相转化的类。相关代码如下:using System;using System.Collections.Generic;using System.Text;using System.Text.RegularExpressions;using System.Globalization;namespace ChineseCalendar{ /// /// 中国日历信息实体类 /// cncxz(虫虫) 2007-2-9转载 2010-09-06 11:40:00 · 1118 阅读 · 0 评论 -
C#文件上传
文件的上传下载是我们在实际项目开发过程中经常需要用到的技术,这里给出几种常见的方法,本文主要内容包括: 1、如何解决文件上传大小的限制 2、以文件形式保存到服务器 3、转换成二进制字节流保存到数据库以及下载方法 4、上传Internet上的资源 第一部分: 首先我们来说一下如何解决ASP.NET中的文件上传大小限制的问题,我们知道在默认情况下ASP.N转载 2010-09-06 09:33:00 · 14928 阅读 · 1 评论 -
C#实现文件管理器
<br />下面详细介绍这个小程序能实现的功能:<br />1.包括TXET文本的新建、复制、粘贴、删除和撤销等文件操作。<br />2.对文本字体的操作:粗体、下划线和斜体。<br />3.包括文本夹的新建、复制、粘贴、删除等文件夹操作。<br />4.五种查看方式:列表、小图标、大图标、标题和详细。<br />软件界面<br /><br />文件管理器主界面<br /><br /><br />进入驱动器D盘后的界面<br /><br /><br />新建文件界面<br /><原创 2010-09-18 13:25:00 · 9781 阅读 · 3 评论 -
WinForm中的窗体传值
<br />一:全局的静态变量方法(可双向传值)<br />我们可以自己建立一个类,在里面加一个静态的全局变量,如:<br />class StrName<br />{<br /> public static string strName = "";<br />}<br />这样一来,如果我们想要从一个窗体向令一个窗体传值,便可在第一个窗体给这个类的此变量赋值,再另一窗体同样可以调用。<br />二:通过构造方法来传值(单向的传值)<br />这种方式比较简单,转载 2010-12-26 15:21:00 · 801 阅读 · 0 评论 -
关闭主窗口而打开另一窗口
<br />一般的方法:<br />在第一个窗口中,名为fristForm,这个窗口有一个按钮,button1.第二个窗口为secondForm.<br />button1对应的代码为:<br />Private void button1_Click(object sender,System.EventArgs e)<br />{<br />Form frm=new secondForm();<br />frm.Show();<br />}<br />请问要怎么样加代码,当我原创 2011-01-06 10:31:00 · 1284 阅读 · 0 评论 -
Windows任务栏API
使用Windows API 显示和隐藏 Windows 的任务栏的方法,windows 的任务栏,其实是一个窗口(window),只要找到这个窗口的句柄,显示和隐藏就轻而易举了,任务栏是个没有标题的窗口,但知道它的类名是 Shell_TrayWnd,所以,可以用 FindWindow 或 FindWindowEx 去查找它的句柄,而显示和隐藏窗口,使用的是 ShowWindow:* 引入Windows API 的声明[DllImport("user32.dll", EntryPoint = "Fin转载 2011-02-27 15:23:00 · 6656 阅读 · 1 评论 -
移动窗体中的控件
使用MouseHover和MouseLeave事件当鼠标在要移动的控件上时,光标显示为VSplit,表示可移,当离开时光标为默认表示不可移 private void pictureBox1_MouseHover(object sender, EventArgs e) { this.Cursor = Cursors.VSplit; } private void pictureBox1_MouseLeave(o原创 2011-03-29 19:34:00 · 848 阅读 · 0 评论 -
C#的引用
<br />ref相当于C/C++的引用(&)<br />The ref keyword causes arguments to be passed by reference. The effect is that any changes to the parameter in the method will be reflected in that variable when control passes back to the calling method.<br />举例如下:<br />原创 2011-03-27 15:53:00 · 623 阅读 · 0 评论 -
索引指示器的应用
索引指示器介绍C#的索引指示器,其目的包括:1.了解什么是索引指示器2.如何实现索引指示器3.重载索引指示器4.了解如何实现多参数的索引指示器索引指示器并不难使用。它们的用法跟数组相同。在一个类内部,你可以按照你的意愿来管理一组数据的集合。这些对象可以是类成员的有限集合,也可以是另外一个数组,或者是一些复杂的数据结构。不考虑类的内部实现,其数据可以通过使用索引指示器来获得。如下是一个例子: class IntIndexer { pr原创 2011-03-27 15:30:00 · 887 阅读 · 0 评论 -
禁用标题栏按钮
<br />1.要全禁用最大最小按钮很容易,只要在属性栏把MinimizeBox设置为false,MaximizeBox设置为false或在Form_load中写下如下代码<br /> this.MaximizeBox=false;<br /> this.MinimixeBox=false;<br /><br />2.要禁用关闭按钮,由于C#没自带属性,我们可以引用API函数<br /><br />首先引用添加using System.Runtime.InteropS原创 2011-03-21 20:08:00 · 989 阅读 · 0 评论 -
文件操作
文件操作若要执行此操作...请参阅本主题中的示例...创建文本文件向文件写入文本 写入文本文件向文件写入文本 读取文本文件从文件读取文本 向文件中追加文本File.AppendTextFileInfo.AppendText重命名或移动文件File.MoveFileInfo.MoveTo删除文件File.DeleteFileInfo.Delete复制文件File.CopyFileInfo.CopyTo获取文件大小FileInfo.Length获取文件属性File.GetAttributes设置文件属性File原创 2011-03-16 11:20:00 · 552 阅读 · 0 评论 -
C# 控制蜂鸣器发声
<br />在C#中可以通过以下四种方式来实现蜂鸣或者报警,播放声音之类的功能.XP下对蜂鸣有用,win7下请接上扬声器.<br />1). Beep的报警实现<br />// 添加引用 using System.Runtime.InteropServices; [DllImport("user32.dll")] public static extern int MessageBeep(uint uType); uint beepI = 0x00000030;转载 2011-02-23 11:16:00 · 11525 阅读 · 2 评论 -
操作注册表及设置开机自动运行
<br />using Microsoft.Win32;<br /><br />以下从‘读’‘写’‘删除’‘判断’四个事例实现对注册表的简单操作 <br />1.读取指定名称的注册表的值<br />private string GetRegistData(string name) <br />{ <br /> string registData; <br /> RegistryKey hkml = Registry.LocalMachine; <br /> Regis转载 2011-03-14 09:44:00 · 2361 阅读 · 0 评论 -
C#加密算法汇总
以下是本站整理的七种加密方法,每种都经过测试验证,可直接复制使用!希望能对你有所帮助!方法一:点击展开代码//须添加对System.Web的引用 //须添加对System.Web的引用 using...System.Web.Security; /**//// /// SHA1加密字符串 /// /// 源字符串/// 加密后的字符串publicstring SHA1(string source) ...{ return FormsAuthentication.Ha转载 2011-02-22 16:57:00 · 738 阅读 · 0 评论 -
API命令符函数WinExec
//#define SW_HIDE 0 //隐藏窗口,活动状态给令一个窗口 //#define SW_SHOWNORMAL 1 //用原来的大小和位置显示一个窗口,同时令其进入活动状态 //#define SW_NORMAL 1 //#define SW_SHOWMINIMIZED 2 //#define SW_SHOWMAXIMIZED 3 //#原创 2011-02-18 14:38:00 · 1350 阅读 · 0 评论 -
最小化到托盘
<br />C#编写最小化时隐藏为任务栏图标的 Window appllication.<br /><br />1.设置WinForm窗体属性showinTask=false<br /><br />2.加notifyicon控件notifyIcon1,为控件notifyIcon1的属性Icon添加一个icon图标。<br /><br />3.添加窗体最小化事件(首先需要添加事件引用):<br /><br />//下面一行是主窗体InitializeComponent()方法中需要添加的引用<原创 2011-02-27 21:03:00 · 654 阅读 · 0 评论 -
C#反射机制
<br /> 反射的定义:审查元数据并收集关于它的类型信息的能力。元数据(编译以后的最基本数据单元)就是一大堆的表,当编译程序集或者模块时,编译器会创建一个类定义表,一个字段定义表,和一个方法定义表等。<br /> System.reflection命名空间包含的几个类,允许你反射(解析)这些元数据表的代码 <br /><br />System.Reflection.Assembly <br />System.Reflection.MemberInfo<br />Sy转载 2010-09-15 17:42:00 · 626 阅读 · 0 评论 -
C# Regex.IsMatch (正则表达式验证:数字、小数点、邮件、计算表达式)
public bool isInt(string str) { //^([+-]?)表示加减号只能出现在字符串开头且只有一位 ///d*表示后面可以有多个或一个十进制数 //$表示字符串结尾 return Regex.IsMatch(str, @"^([+-]?)/d*$");//返回只能以正负号开头的整数 } public bool i转载 2010-09-15 14:27:00 · 21384 阅读 · 1 评论 -
C#中MessageBox的使用
<br />函数】 <整型> MessageBox(<字符串> Text, <字符串> Title, <整型> nType,MessageBoxIcon);<br />【函数说明】 弹出一个消息框。<br />【语法】<br />参数:<br />Text <字符串>,消息框的正文;<br />Title <字符串>,消息框的标题;<br />nType <整型>,消息框的类型。<br />返回值:<整型>,用户在消息框上点击关闭时的选择的按钮。转载 2010-08-08 11:44:00 · 459 阅读 · 0 评论 -
在c#中怎么调用ExitWindowsEx函数实现XP的关机、注销、重启操作?
<br />-----------代码范例------------------<br />using System;<br />using System.Collections.Generic;<br />using System.Text;<br /><br /><br />namespace System.Helper<br />{<br /><br /> public class ServerRoot<br /> {<br /> [Struct转载 2010-08-08 12:25:00 · 1471 阅读 · 0 评论 -
类的应用
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace person{ class Person { private string myName = "N/A"; private int myAge = 20; public string Name {原创 2010-07-15 10:05:00 · 431 阅读 · 0 评论 -
枚举型举例
<br />using System;<br />using System.Collections.Generic;<br />using System.Linq;<br />using System.Text;<br /><br />namespace EnumTest<br />{<br /> class Program<br /> {<br /> enum Range : long { Max = 2176666533L, Min = 255L原创 2010-07-14 17:26:00 · 393 阅读 · 0 评论 -
命名空间的使用
<br />using System;<br />using System.Collections.Generic;<br />using System.Linq;<br />using System.Text;<br />using AliasToMyClass = NameSpace1.MyClass;//为指定的类定别名<br />namespace NameSpace1<br />{<br /> public class MyClass<br /> {<b原创 2010-07-14 17:13:00 · 457 阅读 · 0 评论 -
转换文本框字符串为数字
<br />try<br />{<br /> int num=Int32.Parse(this.textBox1.Text);<br />}<br />catch<br />{<br /> MessageBox.Show("输入的字符串中含有非法字符");<br />} <br /><br />只能输入数字:"^[0-9]*$"。<br />只能输入n位的数字:"^/d{n}$"。<br />只能输入至少n位的数字:"^/d{n,}$"。<br />只转载 2010-07-16 12:06:00 · 4669 阅读 · 0 评论 -
流层次结构
<br />System.Object | -- System.MarshalByRefObject |-- Stream <br /> | | |-- BufferedStream<br /> |转载 2010-07-16 10:38:00 · 535 阅读 · 0 评论 -
object与string
<br />using System;<br />using System.Collections.Generic;<br />using System.Linq;<br />using System.Text;<br />class MyClass<br />{<br /> public int i = 100;<br />}<br /><br />namespace object1<br />{<br /> class Test<br />原创 2010-07-15 21:00:00 · 427 阅读 · 0 评论 -
索引器的使用
<br />using System;<br />using System.Collections.Generic;<br />using System.Linq;<br />using System.Text;<br /><br />namespace indexer<br />{<br /> class IndexerClass<br /> {<br /> private int[] myArray = new int[100];<br />原创 2010-07-15 16:16:00 · 381 阅读 · 0 评论 -
由.Net类库提供的农历计算
<br />using System; <br />using System.Collections.Generic; <br />using System.Text; <br />using System.Globalization; <br />/** <br /> * 说明:在东亚各国,除了通用的公元纪年之外,还有各自以前使用的阴历纪年法,在.net2.0种增加了针对东亚各国的日历类EastAsianLunisolarCalendar, <br /> * 它是一个抽象类,有各种针对不同转载 2010-08-08 21:06:00 · 574 阅读 · 0 评论 -
C#编写最小化到系统托盘的Windows应用程序
<br />以前在Visual C++编程环境里,编写一个这样的系统托盘程序,应该说比较复杂,还要自己添加消息处理函数。而在C#中,这一切就变得非常的容易了。下面是简单步骤。 <br />为程序添加两个主要控件,NotifyIcon控件和ContextMenu控件; <br />为ContextMenu设置Menu菜单和相应菜单的Click事件; <br />为控件NotifyIcon的属性Icon添加一个icon图标,并为它的ContextMenu行为选中添加的ContextMenu作为上下文菜单; <b转载 2010-08-14 10:44:00 · 1243 阅读 · 1 评论 -
Visual C#的SQL Server数据库连接编程
<br />C#中牵涉到数据库的编程时,新手总是感到迷惘,其实,你按照下面我的方法就可以轻松连接数据库并绑定字段到你想绑定的TextBox或者Datagrid。好了,不废话了,开始操作:<br /><br /> 初始设置 首先,我们需在应用系统中安装SQL Server 2000,Microsoft OLE DB Provider for SQL Server (SQL OLE D也会同时被自动安装,接着用SQL Server的Enterprise Manager创建一个叫wj原创 2010-08-16 16:50:00 · 926 阅读 · 0 评论 -
C#线程类Thread初步
<br /> <br />.NET基础类库的System.Threading命名空间提供了大量的类和接口支持多线程。这个命名空间有很多的类。System.Threading.Thread类是创建并控制线程,设置其优先级并获取其状态最为常用的类。他有很多的方法,在这里我们将就比较常用和重要的方法做一下介绍:<br /> Thread.Start():启动线程的执行;<br /> Thread.Suspend():挂起线程,或者如果线程已挂起,则不起作用;<br /> Thread.原创 2010-09-15 21:33:00 · 113 阅读 · 0 评论 -
禁用启动网卡
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Management;using System.Collections;namespace NetWorkControl{转载 2010-09-15 12:38:00 · 3394 阅读 · 0 评论