我正在尝试创建多行工具提示。
myToolTip.ToolTipTitle="First linenSecond line";
myToolTip.ToolTipTitle="First linernSecond line";
myToolTip.ToolTipTitle="First linenSecond line";
string s="First linenSecond line";
s = s.Replace("n", Environment.NewLine);
myToolTip.ToolTipTitle=s;
上面所有的代码只显示一个工具提示,并且总是在下面添加额外的行:在这里输入图像描述我试图在ToolTipTitle字符串中插入换行字符,如"rn"n"或环境。换行,但它仍然不起作用。有什么建议吗?
ToolTipTitle不能有多行,但标题可以。
试试这样:
StringBuilder sb = new StringBuilder();
sb.AppendLine("First Line");
sb.AppendLine("Second Line");
myToolTip.SetToolTip(button1, sb.ToString());
或
myToolTip.Show(sb.ToString(), button1);
我找到了解决方案,部分基于@Shimmy对问题的回答在文本的鼠标悬停时显示工具提示。
我不得不使用toolTip1。SetToolTip(pictureBox1, TextString)函数。工具提示标题不能是多行。
需要定时器来避免闪烁。当用户将鼠标移到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 linen Second line";
private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
if (!ToolTipsTimer.Enabled)
{
toolTip1.SetToolTip(pictureBox1, TextString);
ToolTipsTimer.Enabled = true;
}
}
}
没有足够的JavaScript代码来解决问题。如果你使用的是弹出式警报(),那么"nn"就可以了;我一直都这么做。
这是一个解决方法:使用HTML5 title属性并硬编码换行符。这样的: