【问题标题】:Select text from multiple textboxes simultaneously同时从多个文本框中选择文本
【发布时间】:2009-05-15 14:20:27
【问题描述】:

我有 10 个文本框,我需要从每个文本框中选择文本。 问题是我无法从多个文本框中选择文本。 我的代码有没有解决这个问题的方法。

 private void Form1_Load(object sender, EventArgs e)
    {
        createTextBoxes(10);

        ((TextBox)textBoxes[0]).Select(1, 4);
        ((TextBox)textBoxes[1]).Select(1, 4); // <- it will not select text 
        ((TextBox)textBoxes[2]).Select(1, 4); // same here
    }
    Control[] textBoxes;
    private void createTextBoxes(int cnt)
    {
        textBoxes = new Control[cnt];
        for (int i = 0; i < cnt; i++)
        {
            TextBox tb = new TextBox();
            tb.Name = i.ToString();
            tb.Location = new Point(5, 5 + 14 * i);
            tb.Size = new Size(600, 20);
            tb.BorderStyle = BorderStyle.None;
            tb.Text = "sample text" + i.ToString();
            textBoxes[i] = tb;
            this.Controls.Add(tb);
        }
    }

【问题讨论】:

  • 您确定它没有选择第二个文本框中的文本吗?是否有可能选择了文本,因为控件不在焦点上,您只是没有看到它被选中?评选的目的是什么?
  • 我正在尝试创建矩形文本选择

标签: c# textbox


【解决方案1】:

将 texboxes 的 HideSelection 属性设置为 false。他们会在失去焦点后保持选择。

【讨论】:

  • 很抱歉,TextBox 仅在 WinForms 中具有 HideSelection 属性,但在 WPF 中没有 :(
【解决方案2】:

一次只能有一个控件具有“焦点”...您不能选择(即:突出显示)多个控件的文本。

我还刚刚通过在表单中​​添加一个按钮进行了测试,并将您的 3 个“选择”sn-ps 也张贴在那里......没有显示突出显示。但是,当我通过每个控件执行 TAB 时,前 3 个都恭敬地显示了突出显示的部分。当我浏览其余部分时,其余文本框的整个字段都被完全选中。

或者你真的想完成别的事情......

【讨论】:

  • 我正在尝试创建矩形文本选择
【解决方案3】:

文本被选中,你只是看不到它的焦点。 我运行了您的代码,然后通过控件进行了选项卡化。前 3 个按指定选择。

【讨论】:

    【解决方案4】:

    这可能不起作用,因为即使您已将 TextBox 实例添加到表单,它们还没有显示。在它们被显示并最初呈现之前,可能无法对它们进行选择。

    【讨论】:

      【解决方案5】:

      实际上确实如此,问题是您的其他 2 个文本框([1] 和 [2])没有焦点。一次只能有一个控件具有焦点。如果你点击 tab 将焦点放在下一个 TextBox 上,你会看到选中的文本。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-05
        • 1970-01-01
        • 1970-01-01
        • 2011-02-18
        • 2021-04-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多