C# 窗体开发
znd8866
水滴石穿
展开
-
C#线程中的等待与阻塞
在C#多个线程运行的过程中,会遇到先运行哪个线程和后运行哪个线程的问题,这需要用到ManualResetEvent类。ManualResetEvent类允许不同线程通过互发信号和等待彼此的信号来达到线程同步的目的。它有三个重要的方法:Reset、Set和WaitOne。首先要初始化一个ManualResetEvent类,可定义如下:private ManaulResetEvent原创 2013-06-12 15:34:53 · 10359 阅读 · 1 评论 -
C# WinForm应用程序创建启动界面
启动界面只不过是工程中的另一个窗体而已,下面说一下怎么创建启动窗体。首先给工程添加一个新窗体,将其StartPosition属性设置为CenterScreen,将Text属性设置为空,把ControlBox属性设置为false。好了,现在的窗体是一个空窗体,可以在里面编辑内容了。控制启动界面显示的时间:用定时器实现,这个很简单,就不多说了,在Timer控件的Tick事件中写下以下代码:原创 2013-06-18 11:16:23 · 4369 阅读 · 0 评论 -
C# 向SQL数据库中存储图片的方法
向数据库中存储图片的方法有两种:1.将图片转换成二进制的形式存储到数据库2.将图片的路径存储到数据库中,用时通过路径找到图片下面分别介绍这两种方法1.将图片转换成二进制形式存储首先,在sql数据库中建立一个表,有两个字段:ID、Image,其中ID为主键,Image的存储类型为Image类型。单击button1按钮,实现图片存储:private void button1原创 2013-07-25 15:21:33 · 1902 阅读 · 0 评论 -
C# 怎样截取系统向应用程序发送的消息
众所周知,windows会为每一个应用程序创建一个消息队列,通过向应用程序发送消息告知应用程序用户做了哪些操作,那么如果我想截取这些消息进行重定义,该怎么做呢?这里有两种方法:1.重写窗体的WndProc方法,实现如下:public partial class Form5 : Form { public Form5() {原创 2013-07-23 10:51:48 · 942 阅读 · 0 评论 -
C# 如何获取弹出对话框的返回值
众所周知,弹出对话框可以用MessageBox.Show()方法,但是怎样获取用户到底按了哪个键呢?用DialogResult方法,举例:关闭按钮退出程序:private void button3_Click(object sender, EventArgs e) { DialogResult result = MessageBox.Show(t原创 2013-07-20 21:45:55 · 6572 阅读 · 0 评论 -
C# 设计当得到鼠标焦点后自动放大的button按钮
设计原理:当得到鼠标的焦点后,按钮的长和宽会增加,当鼠标经过后,将按钮的长和宽修改过来。还要用到button按钮的Location属性。步骤如下:1.在窗体的Designer.cs文件中写入以下两行程序: this.button1.MouseEnter += new System.EventHandler(button1_MouseEnter); this.button1.Mo原创 2013-07-20 13:42:31 · 1733 阅读 · 0 评论 -
windows 消息代码大全
windows消息代码WM_NULL =$0000 // WM_CREATE =$0001 //应用程序创建一个窗口 WM_DESTROY = $0002 //一个窗口被销毁 WM_MOVE = $0003 //移动一个窗口 WM_SIZE= $0005 //改变一个窗口的大小 WM_ACTIVATE= $0006 //一个窗口被激活或失去激活状态; WM_SETFOC转载 2013-07-18 20:42:45 · 1568 阅读 · 0 评论 -
C# 如何让TextBox只允许输入数字
首先,在窗体.Designer.cs中写入下面一行程序:this.textBox1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(textBox1_KeyPress);然后,在窗体代码中写入以下程序:private void textBox1_KeyPress(object sender,KeyPressEven原创 2013-07-18 20:00:29 · 1115 阅读 · 0 评论 -
C# 用鼠标拖动无边框窗体
首先,在程序.Designer.cs中添加以下两句: this.MouseDown += new System.Windows.Forms.MouseEventHandler(Form1_MouseDown);this.MouseMove += new System.Windows.Forms.MouseEventHandler(Form1_MouseMove);然后在主程序c原创 2013-07-18 14:29:00 · 819 阅读 · 0 评论 -
C#中定义类时的数据初始化
初学者在学习类的定义时,对类的构造函数往往不理解,其实这很简单。在定义类时,往往有很多数据成员,例如下面的类:class Point{private int x;private int y;}该类定义了两个整形变量:x,y。但在我们调用该类时,希望x,y能有一个默认值,该怎么做呢?有人会这样做:class Point{private int x=0;原创 2013-07-02 12:43:28 · 1553 阅读 · 1 评论 -
C#中重载方法与重写方法的区别
在C#面向对象编程中,重写方法和重载方法是两个重要的概念,但我们有时会混淆这些概念,甚至一些参考书和网络上都弄错,现在对这两种概念澄清一下。1.重载方法在C#中,重载方法是指在类中有两个或两个以上的方法,但各个方法的参数类型、参数个数或顺序不同,例如下面类中定义了add方法并重载:class Addition { public int add(int x)原创 2013-07-14 15:39:32 · 1185 阅读 · 0 评论 -
C#中Path中的@的含义
在C#中,字符串前面加上@表示字符串中的转义字符将不被处理。例如:Path=“C:\\box.txt”和Path=@"C:\box.txt"是一样的。原创 2013-07-09 14:25:05 · 685 阅读 · 0 评论 -
C#中如何删除字符串中任意位置的特定的字符
在C#中,删除字符串时经常用到string类的Remove方法,但是这一方法只能从字符串的指定位置开始删除,不能从字符串的任意位置删除特定字符。那么怎样实现删除字符串的任意位置的特定字符呢?可以采用以下方法:采用string类的Replace方法将特定的字符串替换为空字符串“”就可以了。原创 2013-07-09 20:22:29 · 5064 阅读 · 0 评论 -
C# 将文本Text属性转换为数值形式
很简单,可以用Parse方法,把控件的Text属性转换为数值形式,即可在计算中使用该数值。例如,为了把文本转换为整数值,使用int.Parse方法;为了转换为小数,使用decimal.Prase方法。举例:int number=int.Parse(textBox1.Text);原创 2013-06-13 14:00:25 · 6979 阅读 · 0 评论