gpt4 book ai didi

c# - 如何使用 TextChanged 属性将 12 个连续数字粘贴到 4 个文本框中?

转载 作者:太空狗 更新时间:2023-10-30 00:34:12 24 4
gpt4 key购买 nike

我正在尝试将 12 位数字(IP 地址,但中间没有句点)粘贴(鼠标或键盘快捷键)到 4 个字段中。每个的最大长度为 3。

我试图通过使用 TextChange、文本框、属性来做到这一点。我试图使用 Substring,但它并不是每个八位字节都有效。

    public PingIPRange()
{
InitializeComponent();

txtF1.TextChanged += new EventHandler(NextField);
txtF2.TextChanged += new EventHandler(NextField);
txtF3.TextChanged += new EventHandler(NextField);
}

private void NextField(object sender, EventArgs e)
{
if (txtF1.TextLength == 3)
{
txtF2.Focus();
txtF1.Text = txtF1.Text.Substring(0, 3);
txtF2.Text = txtF1.Text.Substring(3, 30);
}
if (txtF2.TextLength == 3)
{
txtF3.Text = txtF2.Text.Substring(3, 27);
txtF3.Focus();
}
if (txtF3.TextLength == 3)
{
txtF4.Focus();
}
}

最佳答案

尝试将这段代码放在 NextField 方法中。 并且仅连接到 txtF1 文本框文本更改事件。

TextBox txt = (TextBox) sender; 
var s1 = txt.Text.Split('.');

if(s1.Length==4)
{
txtF1.Text = s1[0];
txtF2.Text = s1[1];
txtF3.Text = s1[2];
txtF4.Text = s1[3];
}

更新:当您更新了没有任何点符号的问题时,您可以拆分字符串 like this

var s1=Enumrable
.Range(0,4)
.Select(i => txt.Text.Substring(i * 3, 3))
.ToArray();

关于c# - 如何使用 TextChanged 属性将 12 个连续数字粘贴到 4 个文本框中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8502321/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com