如何在窗口启动时突出显示文本框中的文本?

时间:2014-06-26 17:25:53

标签: c# wpf textbox

几天前我问过类似的问题here。答案很好,除了在窗口启动时执行相同的操作。这意味着每次打开窗口时我都需要突出显示textBox中的文本。

目前我在启动时将焦点设置为textBox,构造函数没有问题。话虽如此,我猜测执行此操作的正确区域是在构造函数中。这就是我目前没有运气的尝试:

public AddDestination()
{
     InitializeComponent();

     //Give cursor focus to the textbox
     destination_textBox.Focus();

     //Highlights text **DOES NOT WORK
     destination_textBox.SelectionStart = 0;
     destination_textBox.SelectionLength = destination_textBox.Text.Length;
}

我怎样才能使窗口打开时突出显示textBox内的文字?

2 个答案:

答案 0 :(得分:1)

您可以在Load EventHandler

中编写此段代码
//code
InitializeComponent();
//code

private void Form_Load(object sender, EventArgs e)
{
     //Give cursor focus to the textbox
     destination_textBox.Focus();

     //Highlights text **DOES NOT WORK
     destination_textBox.SelectionStart = 0;
     destination_textBox.SelectionLength = destination_textBox.Text.Length;
}

要执行此操作,请转到设计器,单击窗口,转到属性,单击事件按钮,搜索加载事件然后双击它。

答案 1 :(得分:1)

而不是构造函数,将其移动到AddDestination_Load事件。

     public AddDestination()
    {
        InitializeComponent();
    }

    private void AddDestination_Load(object sender, EventArgs e)
    {
        //Give cursor focus to the textbox
        textBox1.Focus();

        //Highlights text **DOES NOT WORK
        textBox1.SelectionStart = 0;
        textBox1.SelectionLength = textBox1.Text.Length;

    }