我正在尝试做多行工具提示.断行字符不能工作

本文关键字:工具提示 不能 工作 字符 | 更新日期: 2023-09-27 18:07:19

我正在尝试创建多行工具提示。

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;

上面所有的代码只显示一个工具提示,并且总是在下面添加额外的行:在这里输入图像描述我试图在ToolTipTitle字符串中插入换行字符,如"'r'n"'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 line'n Second line";
    private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
    {
        if (!ToolTipsTimer.Enabled)
        {
            toolTip1.SetToolTip(pictureBox1, TextString);
            ToolTipsTimer.Enabled = true;
        }
    }
}

没有足够的JavaScript代码来解决问题。如果你使用的是弹出式警报(),那么"'n'n"就可以了;我一直都这么做。

这是一个解决方法:使用HTML5 title属性并硬编码换行符。这样的: