C# 制作IP 输入框_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > C# 制作IP 输入框

C# 制作IP 输入框

 2013/9/9 17:07:51  dancingwolves  博客园  我要评论(0)
  • 摘要:最近在写IP输入的判断逻辑,要实现IP控件的功能,首先要了解其功能。然后专门体验了一把系统自带输入ip的控件,主要逻辑有:1.输入为0——255,(根据IP的实际分配情况,实际数字小于这个范围)2.按字母键时,要接管系统对按键事件处理的响应。3.按“."或者空格键,智能跳转到下一个IP输入框。》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》自己制作的结果:参考此工程,http://code.google
  • 标签:C#

最近在写IP输入的判断逻辑,要实现IP控件的功能,首先要了解其功能。然后专门体验了一把系统自带输入ip的控件,主要逻辑有:

1.输入为0——255,(根据IP的实际分配情况,实际数字小于这个范围)

2.按字母键时,要接管系统对按键事件处理的响应。

3.按“."或者空格键,智能跳转到下一个IP输入框。

》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

自己制作的结果:

参考此工程,http://code.google.com/p/ipaddresscontrollib/ 一个IP输入框为一个Panel控件,包含四个textBox和四个Label。textBox负责输入文本及逻辑处理,label仅显示“.”

输入处理主要处理按键的keyPress事件,判断输入的键值是否为数字,“.",“ ”,其他 四种情况。同时根据textBox已有的内容,判断输入的是否是0-255。

逻辑判断代码如下:

class="code_img_closed" src="/Upload/Images/2013090917/0015B68B3C38AA5B.gif" alt="" />逻辑判断

panel的每个文本框调用上述方法(或者叫函数)

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            ipJustify(textBox1, e);           
        }

传入参数e,是为了判断是否接管系统的按键处理事件。默认情况下,函数处理完按键事件后,系统会调用默认按键处理事件。

e.handled=true; //接管

--------------------------------------------------------------------------------

不足之处:一个panel的四个文本框,不太灵活,扩展性不强。如果直接复制整个panel,则产生的textBox的序号会颠倒,求大神解。最好可以做个现成的控件,以后可以直接调用。

主要就是keyDown keyPress keyUp事件的判断处理。这方面,我用messageBox弹窗,发现事件发生的先后顺序为keyPress,keyDown,keyUp,跟网上的说法不一样。不知何故?

发表评论
用户名: 匿名