2010-11-22 53 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中相同的綁定語句即可。

相關問題