C#的IP地址控件

不知道,为什么微软不在Visual Studio .Net中给一个标准的IP地址控件?我非常需要一个像MFC中的CIPAddressCtrl类的IP地址控件,最终,我只能自己做了。
我尽量用c#来模仿之前的那个控件,希望我是成功的:)

背景
IPAddressControl控件,由下面几个部件组成:3个DotCtrl,4个FieldCtrl。

与TextBox相比,FieldCtrls增加了一些键盘过滤和验证的功能。DotCtrl就只是显示一个.

代码使用
在Toolbox中,添加IPAddressControlLib.dll,然后,把这个控件拖到你的Form上。

公共属性
AutoHeight: 默认True,指定控件是否根据字体自动调整高度
Blank: 指示是否所有的field都是空的
BorderStyle: 边框类型,默认BorderStyle.Fixed3D
ReadOnly: 是否只读


公共方法
Clear: 清除控件里的内容
GetAddressBytes: 返回地址字节数组,0地址存放最左边的field
SetAddressBytes: 设置上面的值
SetFieldFocus: 设置键盘焦点到哪个field
SetFieldRange: 设置field的最低和最大值

上面的是标准UserControl之外的方法和属性。Text, Enabled, Font 和ToString()方法,和以前一样起作用。

另外,FieldChangedEvent可以注册用来监控值的改变。

注意:Text 和 ToString() 可能返回不一样的值。如果是空的话,Text 会返回空,而ToString() 会返回RangeLower 最低值。

 

IPAddress ipAddress = new IPAddress( ipAddressControl.GetAddressBytes() );

 

共有0个回答