C# 工具提示中的多行

C# Multiple Lines in Tool Tip

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

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() 返回的是列表对象,而不是字符串。

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

Return String.Join 方法的类型是字符串而不是列表。您需要将您的对象类型调用到 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));
    }