C#工具提示中的多行

时间:2015-03-05 18:32:09

标签: c# string list tooltip

我这样做(值是一个字符串列表):

protected override bool _setValue(object value)
{
    ToolTip toolTip = new ToolTip();
    toolTip.Content = string.Join("\r\n", value);
    return true;
}

当我将鼠标悬停在包含工具提示的项目上时,会显示" System.Generic.List' 1 [System.String]"

显然string.Join()返回一个列表对象,而不是字符串。

如何让工具提示显示多行文字?

1 个答案:

答案 0 :(得分:1)

String.Join方法的返回类型是字符串而不是List。您需要将对象类型调用为List以获得正确的答案。其他方面,它的编译器只使用value.ToString(),而value是一个对象而不是List。刚试了一下

public static void Main(string[] args)
        {
            var items = new List<string>
            {
                "Test 1",
                "test 2"
            };
            WillPrintCorrect(items);
            WillPrintWrong(items);
            BestWay(items);
            Console.ReadLine();

        }

        public static void WillPrintCorrect(object value)
        {
             Console.WriteLine(string.Join(Environment.NewLine,(List<string>)value));
        }

        public static void WillPrintWrong(object value)
        {
            Console.WriteLine(string.Join(Environment.NewLine, value));
        }

        public static void BestWay(List<string> value)
        {
            Console.WriteLine(string.Join(Environment.NewLine, value));
    }