基于.NET自身的控件来开发自定义控件
2007-06-18 17:43
363 查看
基于.NET自身的控件来开发自定义控件
相信大家都很喜欢使用第三方控件,因为那样可以节省很多的开发时间,使自己的开发周期缩短很多。我以前用Delphi做开发的时候,就很喜欢使用。也因此对他们产生了佩服。当转到.NET下时,突然有个想法——就是自己创建个控件来使用。下面便开始讲述在Visual C#下基于.NET自身的控件来开发:
实现功能:
利用Lable控件来实现显示日期。
实现步骤:
1、首先创建我们的环境。
在打开的Visual Studio 2005中我们选择“文件”→“新建”,便可以弹出这个“新建项目”的对话框,在对话框中我们选择Windows 控件库(修改名称、位置等),点“确定”就可以了。
2、因为我们要做的利用Label控件来实现我们的显示日期的控件。所以我们要先在先拖动一个Label到窗体上。时间是需要取系统的当前时间,所以还要继续拖动一个Timer控件到窗体中。
3、控件都已经拖动到窗体上。修改一下timer1的属性。
4、添加事件
在Timer1中的Tick事件中写入一下代码:
private void timer1_Tick(object sender, EventArgs e)
{
label1.Text = System.DateTime.Now.ToString();
}
下面便可以运行我们的程序,并可以在窗体上看到一直在动的时间。这时的窗体会很不对称,我们可以先停止调式,修改一下它的高和宽。
这便是我们的第一个简单的基于.NET控件的例子。如果您对自定义控件感兴趣,请您忘下读,不感兴趣的话,请您参阅其他的技术资料。
5、如何使用我们的控件
当我们创建了控件就是要为了以后方便的使用。下面介绍一下我们的使用。以WinFrm为例。
新建Windows应用程序。在工具箱中右击选择“选择项”,显示“选择工具箱项”对话框,
我们选择“浏览”按钮,然后找到我们刚刚创建的控件库下的 Dll文件。就可以实现添加到工具箱中。
将控件拖动到我们新建的Windows 应用程序(Form1)中。就可以体验出效果。运行使一下。
5、以上的程序实现了简单的基于.NET控件的自定义控件。下面我们将更深入的为我们的控件添加功能。
为控件添加属性。
定义:Color fcolor;//前景色
实现对它的封装字段操作,并修改set的方法。
public Color Fcolor
{
get { return fcolor; }
set {
fcolor = value;
label1.ForeColor = fcolor;
}
}
这时,我们是不能在属性中看到Fcolor的。下面我们再添加一些标记代码:
在public Color Fcolor方法前定义:
[Category("default")]
[Browsable(true)]
[Description("实现对显示日期和时间")]
然后运行就可以看到了。
根据上面我们也可以实现背景色属性的添加。可以动手做一下。
6、为控件添加事件
实现每过10秒就提示当前的秒数。
定义委托:public delegate void MyDelegate(int );
定义事件:public event MyDelegate MyEvent;
因为我们实现每过10秒就提示,所以代码应该写在Timer1中的 Tick 中。
if (MyEvent!=null)
{
if (System.DateTime.Now.Second % 10 == 0)
{
MyEvent(System.DateTime.Now.Second);
}
}
这时我们运行是不能看到效果的。我们可以借助刚才我们创建的 Windows 应用程序。
在控件的事件中可以看到我们定义的MyEvent事件,在里面编写代码:
private void ucDateTime1_MyEvent(int Second)
{
MessageBox.Show("当前是:" + Second + "秒");
}
运行Windows应用程序,便可以了。
我们的自定义控件的讲解完毕,要是有更深入的话,请参阅MSDN。
using System;
2using System.Collections.Generic;
3using System.ComponentModel;
4using System.Drawing;
5using System.Data;
6using System.Text;
7using System.Windows.Forms;
8
9namespace WindowsControlLibrary1
10using System;
2using System.Collections.Generic;
3using System.ComponentModel;
4using System.Data;
5using System.Drawing;
6using System.Text;
7using System.Windows.Forms;
8
9namespace WindowsApplication1
10{
11 public partial class Form1 : Form
12 {
13 public Form1()
14 {
15 InitializeComponent();
16 }
17
18 private void ucDateTime1_MyEvent(int Second)
19 {
20 MessageBox.Show("当前是:" + Second + "秒");
21 }
22 }
23}
实在不好意思,本来有图的,但是因为对图的操作还不是很好 ,所以请见谅.
相信大家都很喜欢使用第三方控件,因为那样可以节省很多的开发时间,使自己的开发周期缩短很多。我以前用Delphi做开发的时候,就很喜欢使用。也因此对他们产生了佩服。当转到.NET下时,突然有个想法——就是自己创建个控件来使用。下面便开始讲述在Visual C#下基于.NET自身的控件来开发:
实现功能:
利用Lable控件来实现显示日期。
实现步骤:
1、首先创建我们的环境。
在打开的Visual Studio 2005中我们选择“文件”→“新建”,便可以弹出这个“新建项目”的对话框,在对话框中我们选择Windows 控件库(修改名称、位置等),点“确定”就可以了。
2、因为我们要做的利用Label控件来实现我们的显示日期的控件。所以我们要先在先拖动一个Label到窗体上。时间是需要取系统的当前时间,所以还要继续拖动一个Timer控件到窗体中。
3、控件都已经拖动到窗体上。修改一下timer1的属性。
控件名称 | 控件属性 | 值 |
timer1 | Enabled | True |
Interval | 1000(单位为:毫秒) |
在Timer1中的Tick事件中写入一下代码:
private void timer1_Tick(object sender, EventArgs e)
{
label1.Text = System.DateTime.Now.ToString();
}
下面便可以运行我们的程序,并可以在窗体上看到一直在动的时间。这时的窗体会很不对称,我们可以先停止调式,修改一下它的高和宽。
这便是我们的第一个简单的基于.NET控件的例子。如果您对自定义控件感兴趣,请您忘下读,不感兴趣的话,请您参阅其他的技术资料。
5、如何使用我们的控件
当我们创建了控件就是要为了以后方便的使用。下面介绍一下我们的使用。以WinFrm为例。
新建Windows应用程序。在工具箱中右击选择“选择项”,显示“选择工具箱项”对话框,
我们选择“浏览”按钮,然后找到我们刚刚创建的控件库下的 Dll文件。就可以实现添加到工具箱中。
将控件拖动到我们新建的Windows 应用程序(Form1)中。就可以体验出效果。运行使一下。
5、以上的程序实现了简单的基于.NET控件的自定义控件。下面我们将更深入的为我们的控件添加功能。
为控件添加属性。
定义:Color fcolor;//前景色
实现对它的封装字段操作,并修改set的方法。
public Color Fcolor
{
get { return fcolor; }
set {
fcolor = value;
label1.ForeColor = fcolor;
}
}
这时,我们是不能在属性中看到Fcolor的。下面我们再添加一些标记代码:
在public Color Fcolor方法前定义:
[Category("default")]
[Browsable(true)]
[Description("实现对显示日期和时间")]
然后运行就可以看到了。
根据上面我们也可以实现背景色属性的添加。可以动手做一下。
6、为控件添加事件
实现每过10秒就提示当前的秒数。
定义委托:public delegate void MyDelegate(int );
定义事件:public event MyDelegate MyEvent;
因为我们实现每过10秒就提示,所以代码应该写在Timer1中的 Tick 中。
if (MyEvent!=null)
{
if (System.DateTime.Now.Second % 10 == 0)
{
MyEvent(System.DateTime.Now.Second);
}
}
这时我们运行是不能看到效果的。我们可以借助刚才我们创建的 Windows 应用程序。
在控件的事件中可以看到我们定义的MyEvent事件,在里面编写代码:
private void ucDateTime1_MyEvent(int Second)
{
MessageBox.Show("当前是:" + Second + "秒");
}
运行Windows应用程序,便可以了。
我们的自定义控件的讲解完毕,要是有更深入的话,请参阅MSDN。
using System;
2using System.Collections.Generic;
3using System.ComponentModel;
4using System.Drawing;
5using System.Data;
6using System.Text;
7using System.Windows.Forms;
8
9namespace WindowsControlLibrary1
10using System;
2using System.Collections.Generic;
3using System.ComponentModel;
4using System.Data;
5using System.Drawing;
6using System.Text;
7using System.Windows.Forms;
8
9namespace WindowsApplication1
10{
11 public partial class Form1 : Form
12 {
13 public Form1()
14 {
15 InitializeComponent();
16 }
17
18 private void ucDateTime1_MyEvent(int Second)
19 {
20 MessageBox.Show("当前是:" + Second + "秒");
21 }
22 }
23}
实在不好意思,本来有图的,但是因为对图的操作还不是很好 ,所以请见谅.
相关文章推荐
- 基于.NET自身的控件来开发自定义控件
- 基于.NET自身的控件来开发自定义控件
- 第一章 .Net 控件开发(WebForm) 开发简单自定义控件
- 第一章 .Net 控件开发(WebForm) 开发简单自定义控件(5) 继承WebControl类
- 第一章 .Net 控件开发(WebForm) 开发简单自定义控件(2) 控件属性的申明
- 第一章 .Net 控件开发(WebForm) 开发简单自定义控件(8) 页面的回传
- 第一章 .Net 控件开发(WebForm) 开发简单自定义控件(4) Style类以及WebControl类
- 第一章 .Net 控件开发(WebForm) 开发简单自定义控件(1) 自定义控件初始
- 第一章 .Net 控件开发(WebForm) 开发简单自定义控件(8) 页面的回传
- 第一章 .Net 控件开发(WebForm) 开发简单自定义控件(7) 控件事件的引发以及优化
- 第一章 .Net 控件开发(WebForm) 开发简单自定义控件(6) 自定义Style类
- jQuery:收集一些基于jQuery框架开发的控件/jquery插件。(2)
- 基于DDD的.NET开发框架 - ABP仓储实现
- 基于.NET的人事考勤管理系统的设计与开发
- 转:jQuery:收集一些基于jQuery框架开发的控件/jquery插件
- 基于.net开发chrome核心浏览器【二】
- .NET组件与控件开发
- [置顶] 基于.NET的快速信息化系统开发框架 — RDIFramework.NET — 系统目录
- 基于地图开发控件GMap.Net 使用 (一) 原创
- 基于DDD的.NET开发框架 - ABP初探