获取另一个TextBox VISUAL C#的值的TextBox

时间:2011-09-06 15:11:16

标签: c# visual-studio-2010 textbox

如果我创建两个TextBox,那是否可能。

当从输入修改第一个TextBox时,第二个文本框被设置为只读,其值将根据您在第一个文本框中写入的内容进行更新。

就像我在stackoverflow中发布这里时,还有一个只读区域,跟随我正在键入的内容(预览窗口)。 :))谢谢!!!

3 个答案:

答案 0 :(得分:1)

如果是win-form应用程序,那就太简单了。试试这个:

    private void txtFirstTextBox_TextChanged(object sender, EventArgs e) {
        if (string.IsNullOrEmpty(txtFirstTextBox.Text)) {
            txtSecondTextBox.Clear();
            return;
        }
        txtSecondTextBox.Text = txtFirstTextBox.Text;
    }
希望这有帮助。

答案 1 :(得分:0)

我应该注意:如果你的UI使用WPF,这是一个解决方案。

是的,如果您有,例如第一个文本框,则很容易实现:

<TextBox x:Name="FirstBox"/>

您可以通过以下方式绑定到此文本框的内容:

<TextBox x:Name"SecondBox" Text="{Binding ElementName="FirstBox", Path="Text", UpdateSourceTrigger=PropertyChanged}" IsEnabled="False"/>

当第一个文本框改变时,第二个文本框应该跟随。这些都是通过绑定自动处理的,它连接到名为“FirstBox”的TextBox上的Text属性。通过将IsEnabled属性设置为“False”

来禁用第二个TextBox

答案 2 :(得分:0)

由于已经有WPF解决方案并且您没有指定您使用的是什么,我将继续发布WinForms解决方案。

幸运的是,这在WinForms中也相对简单。您只需为第一个文本框连接TextChanged事件处理程序,该文本框更新第二个文本:

private void textBox1_TextChanged(object sender, EventArgs e)
{
    textBox2.Text = ((TextBox)sender).Text;
}