04
2012
04

在C#程序中使用系统热键

1.首先引入System.Runtime.InteropServices

using System.Runtime.InteropServices;

2.在类内部声明两个API函数,它们的位置和类的成员变量等同.

[System.Runtime.InteropServices.DllImport("user32.dll")] //申明API函数
public static extern bool RegisterHotKey(
IntPtr hWnd, // handle to window
...
04
2012
04

用C#调试C程序

新建项目》其他语言》Visual C++》Win32》确定
下一步》控制台应用程序》空项目
解决方案》源文件》右键添加》新建项(现有项)》C++文件(.cpp)》添加
04
2012
04

用C#编写QQ连连看助手

这几天闲着陪MM去玩QQ连连看,不知道别人是不是都用了外挂,速度好快,自己手动实在是跟不上。上网下载了一流的外挂,可惜要注册 干脆自己动手写个吧。。。程序原理

通过FindWindow 获得QQ连连看的窗口handle,再捕捉QQ连连看的窗口,然后分释每个格的颜色,判断数据,然后存在一个two dimensional array里。这样程序就有了一份QQ连连看的数据了。

数据都有了,接下来就要找出两点之间是否能连得通。。这个算法也简单。先判断是否两点之间的位置,如果直线则只有一种连接的可能,比如两点的X相同,那么只能是上下的连接等。。
...
04
2012
04

一个用C#获取硬件信息的类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
using System.Management;

namespace GetPCInfo
{
class HardInfoClass
{
[DllImport("kernel32.dll")]
private static extern int GetVolumeInformation(
...
04
2012
04

C#一窗体的事件控制另一窗体的属性

C#中2个窗体FORM1和FORM2,让FORM2中的事件改变FORM1中的属性

================================================================
子窗体中的按钮来修改主窗体的属性
================================================================
方法一:在主窗体类中定义一个静态成员,来保存当前主窗体对象,例如:
public static yourMainWindow pCurrentWin = null;
...
04
2012
04

C# 验证码图片生成

//生成随机字符串
private String GetRandomString(Int32 count)
{
StringBuilder sb = new StringBuilder();
for (Int32 i = 0; i <= count - 1; i++)
{
sb.Append(GetRandomChar(i + (int)DateTime.Now.Ticks));
...
04
2012
04

C# 实现直接从程序返回桌面

如何用PROCESS类的START()公共方法执行SCF文件实现直接从程序界面返回到桌面,效果同用系统右键单击

显示桌面按钮相同

实现直接从程序返回桌面的MyDesktop.scf

如下:

[shell]
command=2
IcoFile=Explorer.exe,3
[Taskbar]
Command=ToggleDesktop
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
...
03
2012
04

C# 日期格式转换

有时候我们要对时间进行转换,达到不同的显示效果
 默认格式为:2005-6-6 14:33:34
 如果要换成成200506,06-2005,2005-6-6或更多的该怎么办呢
 我们要用到:DateTime.ToString的方法(String, IFormatProvider)
 
 using System;
 using System.Globalization;
 String format="D";
 DateTime date=DataTime,Now;
 Response.Write(date.ToString(format, DateTimeFormatInfo.InvariantInfo));
...
03
2012
04

C# 皮肤更改

工具箱上右击选择“选择项”,在弹出的“选择工具箱项”选项卡中,点击“浏览”,找到"IrisSkin2.dll"存放的位置,双击,你会发现多了个“SkinEngine”控件,将其拖到窗体上.皮肤文件*.ssk粘贴在Debug文件夹里.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
...
03
2012
04

控件的使用--控件小结

在本章中,我们介绍了命令按钮、标签框、文本框、单选按钮、复选框、框架、列表框、组合框、滚动条以及定时器等10种控件和控件数组的建立方法。
命令按钮控件的标题一般说明按钮的功能,而其功能是由为控件的事件过程所编制的程序代码实现的。命令按钮的常用事件过程为Click,在程序设计中,一般应为此建立一个命令按钮控件并编制相应的事件过程。
标签框主要是用来为界面上其他没有Caption属性的控件做说明,也可以利用标签框作为输出控件,为用户提供程序运行时的提示信息。
用户既可以在文本框内用键盘输入数据,也可以把文本框作为输出控件。但文本框的输入数据要注意与InputBox函数输入的数据不同,文本框的输出数据也要与标签框控件输出的数据不同,前者在程序运行时,可以编辑相关内容,而后者不能获得焦点,不能直接修改内部内容。
...
03
2012
04

控件的使用--鼠标、键盘事件

Visual Basic应用程序能够响应鼠标和键盘事件。鼠标的Click、DblClick等事件我们已经在前面有所涉及,在本节中我们要着重介绍鼠标的MouseDown、MouseUp和MouseMove事件和键盘的KeyPress、KeyDown和KeyUp事件。这几类鼠标和键盘的事件在编程中应用非常广泛。
8.7.1 鼠标事件
所谓鼠标事件是由用户操作鼠标而引发的能被Visual Basic中各种对象识别的事件。除了Click和DblClick之外,鼠标还有以下三个事件:
MouseDown事件:当鼠标的任意一个按钮按下时被触发。
...
03
2012
04

控件的使用--控件数组

控件数组在这里作为一个章节专门介绍,主要是控件数组应用比较广泛,用控件数组来解决问题有时会给我们带来很多的方便。控件数组和我们前面所学的数据类型中的数组在意义上很相似,不过它要和具体的控件对象结合起来。
控件数组是一组具有共同名称和类型的控件。他们的事件过程也相同。一个控件数组至少应有一个元素,元素数目可在系统资源和内存允许的范围内增加。在控件数组中可用到的最大索引值为32767。同一个控件数组中的元素可以有自己的属性设置。常见的控件数组的应用是实现选项按钮的分组和菜单控件。
(1)在设计时创建控件数组(主要有3种方式来创建控件数组)
...
03
2012
04

控件的使用--定时器

工具箱中定时器控件的图标为 。
定时器控件借用计算机内部的时钟,实现了由计算机控制、每隔一个时间段自动触发一个事件。它在运行时是不可见的,所以在界面设计时可以放置在窗体的任意位置。
1.定时器控件常用属性
定时器控件缺省的控件名称为Timer1、Timer2等。
(1)Interval属性:设置间隔时间,为整数类型
该属性表示定时器的时间间隔,以毫秒为单位(设置为1000,时间间隔为1秒)。
Interval属性值为0,则定时器不起作用;Interval属性的最大值为65535。
(2)Enabled属性:设置是否响应,为逻辑值
...
03
2012
04

控件的使用--滚动条

滚动条控件分为水平滚动条(HscrollBar)控件和垂直滚动条控件(VscrollBar)。水平滚动条控件名称的缺省值为Hscroll1、Hscroll2、……,垂直滚动条控件名称的缺省值为Vscroll1、Vscroll2等。
工具箱中水平滚动条控件、垂直滚动条控件的图标分别为 。
垂直和水平滚动条在滚动方向上不同,别的属性和事件都是相同的。
1.滚动条控件常用属性
(1)Max和Min属性:整数类型
 Max属性—返回或设置当滚动框处于底部或最右位置时,一个滚动条位置的Value属性的最大设置值。
...
03
2012
04

控件的使用--列表框和组合框

列表框和组合框都可以为用户提供选项列表,用户可以在列表中进行选择。
8.3.1 列表框控件
工具箱中列表框控件的图标为 。
列表框用来列出供操作的多项选择,用户可以通过单击某项,选择自己需要的选项并对其作某种处理。选择时从中可选取一项,也可选取多项。如果供选择的项目太多,超出了设计的长度,则Visual Basic会自动给列表框加上滚动条。在程序运行时,我们不能在列表框内进行输入。列表框的对象名默认的为List1、List2等。
1.列表框控件常用属性
(1)List属性:访问列表项目
该属性用来列出列表框项目的内容。在列表框中所有表项的值都以数组形式存放,List属性就是保存这些选项值的数组,要取出其中某项的值,只需通过访问该项对应数组的下标(注意下标值从0开始)。
...
03
2012
04

控件的使用--单选按钮、复选框和框架

8.2.1 单选按钮
单选按钮(OptionButton)在工具箱中的图标是 。默认的对象名为Option1、Option2等。
我们大家对单选按钮其实并不陌生,我们在网络上面填写表单的时候经常会遇到这样的按钮,特别是在选择性别的时候,这个时候供我们选择的一般有“男”和“女”两个,但这两个我们只能选择一个,也就是说如果选择“男”,那么“女”会自动的处于非选择状态,这就是单选按钮的排它性,若干个按钮同时只能有一个被选中,这也就是为什么叫单选按钮的原因了。如果要实现多选,可以利用后面将要讲到的框架控件把单选按钮分组。单选按钮示例,如图8.6所示。
...
03
2012
04

控件的使用--命令按钮、标签和文本框

8.1.1 命令按钮
大多数Windows应用程序都有命令按钮(CommandButton),用户能够通过简单的单击按钮来执行操作。当用户单击按钮时,不仅会执行相应操作,还会使该按钮看上去像被按下并释放一样。无论何时,只要用户单击按钮,就会调用 Click 事件过程。将代码写入 Click 事件过程,就可以执行想要的动作。
工具箱中命令按钮的图标为: 。在窗体上默认显示为Command1等。
下面介绍命令按钮的常用属性、事件和方法。对于命令按钮中介绍过的常用控件所共有的属性(如Caption、Name、Font、Enabled、Visible、ForeColor、BackColor、Left、Top、Width、Height等),在介绍其它控件时将不再重复。
...
03
2012
04

C# 更改浏览器主页

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.Win32; //注意不要漏掉!!

namespace WindowsApplication1
{
public partial class Form1 : Form
...
03
2012
04

C# 费波拿切数列

已知一个数列的前几位数为,1,1,2,3,5,8,13,21,34.求第30位的数(用递归算法实现)和100位的数

int fib(int n)
{
if(n==1||n==2)
return 1;
else
return fib(n-1)+fib(n-2)
}
费波拿切数列

递归的重要两点 : 1,寻找规律, 2寻找边界条件。
03
2012
04

C# 窗体位于中间

将想要显示在中间的窗体的Startposition属性设为CenterParent,然后调用ShowDialog()方法,显示模式窗体就行了.
注意不是用Show()方法
form2 A = new form2();
A.ShowDialog(this);//打开模式对话框


用位置计算
ProgressForm pForm = new ProgressForm();
pForm.Show();
pForm.Top = this.Top + this.Height / 2 - pForm.Height / 2;//窗口的像素,在窗体中间显示
...