【问题标题】:Getting Number of Displayed Lines in Multi-Line Textbox in the Compact Framework在 Compact Framework 中获取多行文本框中显示的行数
【发布时间】:2009-03-13 15:57:14
【问题描述】:

我有一个多行文本框,通常显示很长的字符串(例如许可协议),并且围绕显示的要求是,如果用户通过垂直滚动条“翻阅”文本(不单击箭头或滚动框,但单击滚动框上方或下方),在最后一个“页面”上,第一行必须是上一页的最后一行,并且文本用空白行填充以适应这一点。

我知道我可以获取字符串的大小和文本框中的行数,但是是否可以一次检索文本框中显示的行数,以便我可以计算需要填充多少文本?查看我可以通过 P/Invoke 发送的messages 列表,我没有看到请求显示行数的人。

【问题讨论】:

    标签: c# compact-framework


    【解决方案1】:

    您可以通过计算字体高度来获得一次显示的最大行数,然后除以文本框高度。

    只是一个想法...不确定它是否正确,但您可以进行一些测试,看看是否匹配。

    获取字体高度:

    public SizeF MeasureString( string text, Font font )

    【讨论】:

    • 这是一个好的开始。顶部和底部显然有一些填充,所以数学并不准确。我需要尝试使用不同大小的文本框,看看效果如何。
    猜你喜欢
    • 2011-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-18
    • 2010-10-06
    • 1970-01-01
    • 2011-02-21
    • 1970-01-01
    相关资源
    最近更新 更多