【问题标题】:Winforms autoheight text areaWinforms 自动高度文本区域
【发布时间】:2009-08-16 20:27:24
【问题描述】:

我有一个 Richtextarea,里面有一堆文本。我想以某种方式使其扩展以适合所有文本而不显示滚动条。我希望宽度保持标准,高度扩大。有没有这样做的好方法?我计划每次循环并在其高度上添加一个像素..然后检查滚动条是否可见。在 vb.net 中没有简单的方法可以在不使用 windows api 特定方法的情况下找到。

【问题讨论】:

    标签: vb.net winforms controls


    【解决方案1】:

    我这样做的方法是考虑 SelectionStart 属性。如果 SelectionStart 是 x 或 x 的倍数,那么我会增加身高。

    textBox.Multiline = true;
    private void textBox_TextChanged(object sender, EventArgs e)
            {
                if (textBox.SelectionStart % 20 == 0)
                {
                    textBox.Height += 20;
                }
            }
    

    【讨论】:

    • 这段代码几乎说明了如果当前选定文本的索引是 20(字符)的精确倍数,则使 RichTextBox 高 20 像素。这听起来不像是一个非常稳定的解决方案。
    • 20 可以替换为 majestiq 决定的数字。但是,答案的基本思想是让 majestiq 了解如何做到这一点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-21
    • 1970-01-01
    • 1970-01-01
    • 2019-03-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多