【Vegas原创】Winform中使用MaskedTextBox制作IP地址输入框

环境:C/S Winform C#

Demo:

image

功能:自动设置ip掩码,输入形如999.999.999.999的格式,并设置keydown事件,当输入.的时候,自动跳至下一栏。

方法:

1,从工具箱中拖入一个MaskedTextBox,命名为txtPACSIP;

2,在mask属性中,输入:999.999.999.999

3,在prompt属性中,将_换为空格。如果你喜欢_的话,也可以不用换。

4,创建KeyDown事件,附以下代码:

private void txtPACSIP_KeyDownobject sender, KeyEventArgs e)
    {
        if e.KeyCode == Keys.Decimal)
        {
            int pos = txtPACSIP.SelectionStart;
            int max = txtPACSIP.MaskedTextProvider.Length - txtPACSIP.MaskedTextProvider.EditPositionCount);
            int nextField = 0;
 
            for int i = 0; i < txtPACSIP.MaskedTextProvider.Length; i++)
            {
                if !txtPACSIP.MaskedTextProvider.IsEditPositioni) && pos + max) >= i)
                    nextField = i;
            }
            nextField += 1;
 
            // We're done, enable the TabStop property again   
 
 
            txtPACSIP.SelectionStart = nextField;
 
        }
    } 

当然, 你如果想将tab键也实现自动跳至下一栏的话,多加个条件就行。

5,在取值的过程中,记得要replace空格:

PingReply reply = p1.Sendthis.txtPACSIP.Text.Replace" ",""));

参考文档:http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/27d1e86e-8561-4379-b5c5-401f15c24c97

.zstitle { 280px; text-align: center; font-size: 26px }
.zsimgweixin { 280px }
.zsimgali { 280px; padding: 0px 0px 50px 0px }
.zsleft { float: left }
.zsdiv { display: flex; flex-flow:column; }
.zs { font-size: 30px }
.zspaddingright { padding: 0px 100px 0px 0px }

喜欢请赞赏一下啦^_^

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注