在不同位置使用标签(WinForm)

时间:2019-07-04 13:34:15

标签: c# label

我想在不同的Tabpages下使用标签。因此,当我更新一个时,我希望另一个被更新。这可能吗?

1 个答案:

答案 0 :(得分:0)

您可以通过将所有其他标签绑定到源标签来实现此目的,如下所示:

    <StackPanel>
        <Label Name="lbl1" Content="Woohoooooo"/>
        <Label Content="{Binding ElementName=lbl1,Path=Content}"/>
        <Label Content="{Binding ElementName=lbl1,Path=Content}"/>
        <Label Content="{Binding ElementName=lbl1,Path=Content}"/>
    </StackPanel>

所有标签将始终更新其文本,使其与lbl1

相同

编辑:

您使用的是 winforms ,因此上述内容对您不起作用,但是您可以在winforms中使用文本Changed事件来实现。这样的事情应该可以解决问题(未经测试,我不使用winforms):

    //in your form constuctor you add the event like this:
    NameOfYourSourceTextBox.TextChanged += SourceTextbox_TextChanged;

    //to call this function when the text on the label changes 
    private void SourceTextbox_TextChanged(object sender, EventArgs e)
    {
        string text = (sender as Label).text;
        //now you set all your labels to the same text and from now on you only need to channge the source alabel and all others will follow
        Label1.Text = text;
        Label2.Text = text;
        Label3.Text = text;
    }