2010-11-22 59 views
0

我有两个文本框 当我按下文本框的按钮文本之一可以自动显示在文本框2。 我用VS 2010 我需要这个代码在C#如何在用户点击时获得一个值到另一个值?

+6

听起来像某人正在努力为他们完成他们的功课。 ;) – Yoopergeek 2010-11-22 18:35:55

+0

也许一些javascript ... – 2010-11-22 18:38:35

+0

如果你在WPF中使用绑定来做它,你甚至不需要一个按钮。 – ihatemash 2010-11-22 18:45:20

回答

2
上的按钮单击事件

写这行:

textbox2.Text = textbox.Text; 

PS。试着读一本书像C#傻瓜

3

在按钮的单击事件:

Textbox2.Text = Textbox1.Text

2

如果你想要的值更改为您键入它,检查出KeyPress事件

textbox1.KeyPress += new KeyPressEventHandler(KeyPressedEvent); 

private void KeyPressedEvent(Object o, KeyPressEventArgs e) 
{ 
    textbox2.Text = textbox1.Text; 
} 
2
TextBox tb1 = new TextBox(); 
    TextBox tb2 = new TextBox(); 
    public Form1() 
    { 
     InitializeComponent(); 
     tb1.Top = 100; 
     tb2.Top = 100 + tb1.Height; 
     tb1.TextChanged += new EventHandler(tb1_TextChanged); 
     this.Controls.Add(tb1); 
     this.Controls.Add(tb2); 
    } 


    void tb1_TextChanged(object sender, EventArgs e) 
    { 
     tb2.Text = tb1.Text; 
    } 
1

你可以做到这一点,而无需使用代码隐藏诸如TextBox2.Text = TextBox1.Text;和无按钮。您可以在C#代码中使用单个属性在XAML中完成所有操作。

你的C#代码(又名视图模型)

private string _textBoxContent; 
public string TextBoxContent 
{ 
    get { return _textBoxContent; } 
    set 
    { 
     _textBoxContent = value; 
     OnPropertyChanged("TextBoxContent"); 
    } 
} 

,你的XAML看起来就像这样:

<TextBox Name="tb1" Text="{Binding TextBoxContent, UpdateSourceTrigger=PropertyChanged}"/> 
<TextBox Name="tb2" Text="{Binding TextBoxContent, Mode=OneWay}"/> 

这将导致更改TB1在TB2显示您在TB1类型。但是,当你输入tb2时,它不会改变tb1的值。

要让tb1和tb2都更新对方的值,只需使用tb1中相同的绑定语句即可。