我正在尝试创建多行工具提示。
myToolTip.ToolTipTitle="First line\nSecond line";
myToolTip.ToolTipTitle="First line\r\nSecond line";
myToolTip.ToolTipTitle="First line\nSecond line";
string s="First line\nSecond line";
s = s.Replace("\n", Environment.NewLine);
myToolTip.ToolTipTitle=s;
以上所有代码仅显示oneline工具提示,并始终在下方添加额外的行: enter image description here 我试图在ToolTipTitle中插入字符串换行符,例如" \ r \ n" " \ n"或Environment.Newline,但它仍然无效。有什么建议吗?
答案 0 :(得分:0)
ToolTipTitle不能有多行,但标题可以。
以这种方式尝试:
StringBuilder sb = new StringBuilder();
sb.AppendLine("First Line");
sb.AppendLine("Second Line");
myToolTip.SetToolTip(button1, sb.ToString());
或
myToolTip.Show(sb.ToString(), button1);
答案 1 :(得分:0)
我在问题@Shimmy's上找到了部分基于Displaying tooltip on mouse hover of a text回答的解决方案。
我不得不使用toolTip1.SetToolTip(pictureBox1,TextString)函数。 ToolTip标题不能是多行的。
需要定时器以避免闪烁。当用户将鼠标移到PictureBox上时,工具提示会显示多行文字。
public partial class Form1 : Form
{
private System.Windows.Forms.ToolTip toolTip1;
private System.Windows.Forms.PictureBox pictureBox1;
System.Windows.Forms.Timer ToolTipsTimer = new System.Windows.Forms.Timer();
public Form1()
{
InitializeComponent();
ToolTipsTimer.Tick += new EventHandler(ToolTipsTimerEventProcessor);
ToolTipsTimer.Interval = 300;
ToolTipsTimer.Start();
toolTip1.AutomaticDelay = 300;
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void ToolTipsTimerEventProcessor(Object myObject, EventArgs myEventArgs)
{
ToolTipsTimer.Enabled = false;
}
string TextString = "First line\n Second line";
private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
if (!ToolTipsTimer.Enabled)
{
toolTip1.SetToolTip(pictureBox1, TextString);
ToolTipsTimer.Enabled = true;
}
}
}
答案 2 :(得分:-1)
没有足够的JavaScript代码来解决您的问题。如果您使用弹出警报(),则“\ n \ n”将起作用;我一直这样做。
这是一种解决方法:使用HTML5标题属性并对换行符进行硬编码。像这样: