同时从多个文本框中选择文本

时间:2009-05-15 14:20:27

标签: c# textbox

我有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);
        }
    }

5 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:1)

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

我刚刚通过在表单中​​添加一个按钮进行了测试,并在那里发布了3个“精选”片段......没有显示突出显示的内容。但是,当我通过每个控件执行TAB时,前3个尊重显示突出显示的部分。当我通过其余部分进行选项卡时,其余文本框的整个字段都已完全选中。

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

答案 2 :(得分:1)

选择文本时,您无法看到它的焦点。 我运行了你的代码,然后选中了控件。前3个按指定选择。

答案 3 :(得分:0)

这可能无法正常工作,因为即使您已将TextBox实例添加到表单中,它们仍未显示。在它们显示并最初渲染之前,可能无法对它们进行选择。

答案 4 :(得分:0)

实际上确实如此,问题是你的另外两个文本框([1]和[2])没有焦点。一次只能有一个控件具有焦点。如果按Tab键将焦点放在下一个TextBox上,您将看到所选文本。