文本是否适合GTK#TextView而无需滚动条

时间:2009-06-30 11:17:02

标签: c# mono gtk#

我有一个带有自动换行和滚动条的GTK#文本视图。我知道水平滚动条不会显示,因为单词会换行。

我想添加一些文字,但在添加之前我想知道文本是否合适而不需要垂直滚动条。

如果这意味着文本视图需要垂直滚动条,我不想添加文本。

我该怎么做?

1 个答案:

答案 0 :(得分:3)

我不知道在没有实际更新文本的情况下测量TextView内容的任何方法。这是一个复杂的文本布局小部件,可以处理格式化的文本,图像等。插入文本可能会大大改变布局,因此您无法“预测”某些新文本如何更改大小而不实际修改缓冲区并重新计算其布局

如果您解释为何需要此功能,建议解决方案会更容易。

例如,如果您只需要在添加文本之后知道,无论视图是否有滚动条,您都可以使用滚动调整 - TextView是一个“可滚动”小部件,即它的布局空间是虚拟化,并由父ScrolledWindow通过包含范围,页面大小,滚动增量大小等的“调整”对象进行操作。您可以通过从ScrolledWindow访问它们并订阅其更改事件来检测它们何时发生更改。