使用其他文本在C#中标记标签?

Tom*_*010 7 c# data-binding winforms

是否有一种简单的方法来标记标签并包含一些自定义文本?

当然我可以像这样绑定一个标签:

someLabel.DataBindings.Add(new Binding("Text",this.someBindingSource,"SomeColumn",true));

但是我如何添加自定义文本,以便结果如下:someLabel.Text ="Custom text"+ databoundColumnText;

我真的不得不诉诸自定义代码......?

(也许我的脑袋因为感冒而昏暗,我看不到简单的解决方案?)

TIA对此事有任何帮助.

SKG*_*SKG 14

您始终可以使用Binding.Format事件.

http://msdn.microsoft.com/en-us/library/system.windows.forms.binding.format.aspx

将数据从数据源推送到控件中时会引发Format事件.您可以处理Format事件,将未格式化的数据从数据源转换为格式化数据以供显示.

就像是...

    private string _bindToValue = "Value from DataSource";
    private string _customText = "Some Custom Text: ";
    private void Form1_Load(object sender, EventArgs e)
    {
        var binding = new Binding("Text",_bindToValue,null);
        binding.Format += delegate(object sentFrom, ConvertEventArgs convertEventArgs)
                              {
                                  convertEventArgs.Value = _customText + convertEventArgs.Value;
                              };

        label1.DataBindings.Add(binding);
    }
Run Code Online (Sandbox Code Playgroud)