如何在文本框中附加文本

时间:2015-03-27 16:29:55

标签: c# wpf textbox

我正在一个简单的程序中使用一些按钮,一个文本框和一些组合框。

我想做的是当我再次单击按钮时,结果必须再次出现在文本框中,而不删除以前的结果,例如在组合框1中我选择宝马,在组合框2中我选择德国后我点击按钮文本显示在文本框中,我想再次选择其他项目,但上一项(宝马和德国)应保留在文本框中。我不知道我是否可以解释自己。

    <StackPanel>
<ComboBox Name="cb1" Margin="0,10,0,0" Width="100">
    <ComboBoxItem Content="Peugeot"/>
    <ComboBoxItem Content="BMW"/>
    <ComboBoxItem Content="GOLF"/>
</ComboBox>

<ComboBox Name="cb2" Margin="0,10,0,0">
    <ComboBoxItem Content="Usa"/>
    <ComboBoxItem Content="Germany"/>
    <ComboBoxItem Content="France"/>
</ComboBox>

<TextBox Name="txt1" Margin="0,10,0,0" Width="200" Height="100"/>
<Button Name="btnclick" Margin="0,10,0,0" Width="50" Height="30" Content="Click" Click="btnclick_Click" />


     public MainWindow()
{
    InitializeComponent();
}

private void btnclcik_Click(object sender, RoutedEventArgs e)
{
    if (cb1.IsArrangeValid == true)
        if (cb2.IsArrangeValid == true)
            txt1.Text = "Car:" + cb1.Text + "\n" + "state:" + cb2.Text;

}

private void btndel_Click(object sender, RoutedEventArgs e)
{
    cb1.Text = "";
    cb2.Text = "";

}

} }

1 个答案:

答案 0 :(得分:1)

你需要附加到文本而不是再次设置...

改变这个..

private void btnclick_Click(object sender, RoutedEventArgs e)
        {
            if (cb1.IsArrangeValid == true)
                if (cb2.IsArrangeValid == true)
                    txt1.Text = (txt1.Text + "\n" + "Car:" + cb1.Text + "\n" + "state:" + cb2.Text).Trim();

        }
  

并且wpf中没有回发。请仔细阅读,不仅仅是分配它将成为你的学习