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));
}
我正在这样做(值是一个字符串列表):
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));
}