gpt4 book ai didi

c# - 文本框中的永久前缀

转载 作者:太空狗 更新时间:2023-10-30 00:11:13 25 4
gpt4 key购买 nike

我正在尝试在文本框中输入永久前缀。就我而言,我想要以下前缀:

域\

这样用户只需在域前缀后键入用户名即可。这不是我必须做或追求的事情,但我的问题更多是出于好奇。

我试图想出一些逻辑来在 TextChangedEvent 上执行此操作,但是,这意味着我需要知道哪些字符已被删除,然后预先附加 DOMAIN\ 无论他们的输入是什么 - 我无法弄清楚这方面的逻辑,所以我无法发布我已经尝试过的内容。

public void TextBox1_TextChanged(object sender, EventArgs e)
{
if(!TextBox1.Text.Contains(@"DOMAIN\")
{
//Handle putting Domain in here along with the text that would be determined as the username
}
}

我已经在网上查过了,什么也找不到,How do I have text in a winforms textbox be prefixed with unchangable text?试图做类似的事情,但答案并没有真正帮助。

关于如何在 TextBox 中保留前缀 DOMAIN\ 有什么想法吗?

最佳答案

此处说明使用 KISS 原则。当用户使用 Ctrl+V 或上下文菜单的剪切和粘贴命令时,试图捕捉按键不会做任何事情。当发生任何篡改前缀的事情时,只需恢复文本:

    private const string textPrefix = @"DOMAIN\";

private void textBox1_TextChanged(object sender, EventArgs e) {
if (!textBox1.Text.StartsWith(textPrefix)) {
textBox1.Text = textPrefix;
textBox1.SelectionStart = textBox1.Text.Length;
}
}

并帮助用户避免意外编辑前缀:

    private void textBox1_Enter(object sender, EventArgs e) {
textBox1.SelectionStart = textBox1.Text.Length;
}

关于c# - 文本框中的永久前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14524422/

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