
tlinklabel控件仅支持双引号包围的href属性值,若使用单引号会导致html解析失败,链接不渲染、点击事件也不触发。
tlinklabel控件仅支持双引号包围的href属性值,若使用单引号会导致html解析失败,链接不渲染、点击事件也不触发。
`TLinkLabel` 是 Delphi 提供的轻量级富文本链接控件,支持内嵌 HTML 格式的超链接(如 `https://www.php.cn/link/263b1243ca2dbeb358777ceabc4a2e4c`),但其 HTML 解析器对语法格式要求严格:**必须使用英文双引号(`"`)包裹 `href` 属性值,单引号(`'`)将被忽略或导致解析中断**。
错误写法(链接无法识别):
LinkLabel1.Caption := 'Click <a href="" https:>here</a> https://www.php.cn/link/263b1243ca2dbeb358777ceabc4a2e4c';
该写法中单引号使控件无法正确提取 URL,结果是整个字符串作为纯文本显示,OnLinkClick 事件(如 LinkLabel1LinkClick)也不会触发。
✅ 正确写法(推荐):
LinkLabel1.Caption := 'Click <a href="https://duckduckgo.com/">here</a> in order to open the search engine.';
此外,请确保以下前提条件已满足:
-
LinkLabel1.Enabled := True;(禁用状态下不响应点击); -
LinkLabel1.Visible := True;且已正确加入窗体控件树; - 已为
OnLinkClick事件分配处理方法(例如双击控件自动生成LinkLabel1LinkClick并在其中调用ShellExecute打开浏览器):procedure TForm1.LinkLabel1LinkClick(Sender: TObject; const Link: string; LinkType: TLinkType); begin if LinkType = ltURL then ShellExecute(0, 'open', PChar(Link), nil, nil, SW_SHOWNORMAL); end;
⚠️ 注意事项:
-
TLinkLabel不支持 CSS、JavaScript 或嵌套标签,仅识别最简@#@#@#@#@#@#@#@#@#@1结构; - 链接文本中避免换行或不可见字符(如全角空格),否则可能截断解析;
- 若需动态拼接 URL,建议使用
Format或StringReplace确保引号统一,避免手动拼接出错。
掌握这一引号规范,即可让 TLinkLabel 正常渲染可点击链接,并可靠触发事件响应。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











