WinForm中使用MaskedTextBox制作IP地址输入框

发布时间:2024年01月18日

1.实现的功能:输入IP地址,形如000.000.000.000的格式,并设置keydown事件,当输入点(.)的时候,自动跳至下一栏。

具体方法:
(1)…从工具箱中拖入一个MaskedTextBox,命名为MaskedTextBox_IP。
2.在Mask属性中,输入:000.000.000.000。
3.在PromptChar属性中,将_换为空格,如果你喜欢_的话,也可以不用换。
4.创建KeyDown事件,附以下代码:

private void MaskedTextBox_IP_KeyDown(object sender, KeyEventArgs e)
{
    //说明:Keys.Decimal为.
    if (e.KeyCode == Keys.Decimal)
    {
        int pos = MaskedTextBox_IP.SelectionStart;
        //说明:MaskedTextBox_IP.MaskedTextProvider.Length值为15,包含了点(.)。
        //说明:MaskedTextBox_IP.MaskedTextProvider.EditPositionCount值为12,不包含点(.)
        int max = (MaskedTextBox_IP.MaskedTextProvider.Length - MaskedTextBox_IP.MaskedTextProvider.EditPositionCount);
        int nextField = 0;

        for (int i = 0; i < MaskedTextBox_IP.MaskedTextProvider.Length; i++)
        {
            if (!MaskedTextBox_IP.MaskedTextProvider.IsEditPosition(i) && (pos + max) >= i)
                nextField = i;
        }
        nextField += 1;
        MaskedTextBox_IP.SelectionStart = nextField;

        //说明:只要是点(.)的地方都是false
        for (int i = 0; i < MaskedTextBox_IP.MaskedTextProvider.Length; i++)
        {
            Console.WriteLine(MaskedTextBox_IP.MaskedTextProvider.IsEditPosition(i));
        }
    }
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

文章来源:https://blog.csdn.net/qizhi321123/article/details/135681663
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。