gpt4 book ai didi

c# - 如何绘制选定的文本

转载 作者:行者123 更新时间:2023-11-30 12:37:20 26 4
gpt4 key购买 nike

我正在编写文本框/标签控件的自定义替换。它需要提供类似的功能,但会在我的应用程序上下文中进行优化并(希望)更快。它需要能够支持多行文本选择。我想知道是否有一种简单的方法来绘制选定的文本?现在看起来唯一的方法可能是计算应该在何处绘制选择矩形并手动绘制。我希望获得有关完成此操作或任何替代方法的最简单方法的建议。谢谢。

最佳答案

使用 System.Windows.Forms.TextRenderer

只需覆盖 System.Windows.Forms.Control 中的方法:

protected override void OnPaint(PaintEventArgs e)
{
TextRenderer.DrawText(e.Graphics, Text, Font, new Rectangle(0, 0, Width, Height), ForeColor);
}

public override Size GetPreferredSize(Size proposedSize)
{
return TextRenderer.MeasureText(Text, Font);
}

当然,如果您需要实现自定义行为,您还需要处理更多事件,例如 OnFontChangedOnSizeChanged

如果您要查找的是这些控件中的特定文本(选定文本),您可能需要查看此 article .本文还链接了拼写检查库 (SharpSpell) 的源代码。

关于c# - 如何绘制选定的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1342426/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com