c# - 如何知道TextEdit中当前的可见性偏移量?

标签 c# winforms devexpress

当你在TexBox/TexEdit中书写时,如果文本大于控件的大小,它会向右滚动。

如何获取当前的可见性偏移或滚动长度?

为了说明我想要的:

enter image description here

黑框代表全文。红色框是TextEdit,包含文本的可见部分。棕色垂直线是插入符号。我想知道是以像素为单位的偏移量。

最佳答案

我对此做了最少的测试,它似乎有效,尽管在某些情况下它可能会偏离 1 个像素:

int offset = tb.GetPositionFromCharIndex(0).X;

出于测试目的,我已将其放入 TextChanged 事件处理程序中。

请告诉我它是否满足您的需要。

干杯

编辑:我已经通过这样做来添加边框的宽度(默认为Fixed3D):

int offset = tb.GetPositionFromCharIndex(0).X + SystemInformation.Border3DSize.Width;

这似乎给出了更好的结果。

关于c# - 如何知道TextEdit中当前的可见性偏移量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21192481/

相关文章:

C# 列出 : How to copy elements from one list to another, 但仅列出某些属性

c# - 控件 'seems' 被锁定

c# - 如何允许用户在使用 C# 的 WPF 中使用 Devexpress 验证验证事件后更改控制焦点?

c# - ProgressBar 更新期间 UI 卡住

c# - 没有 ConfigureAwait(false) 的等待在不同的线程上继续

javascript - 如何在 JavaScript 中清除 Session?

delphi - 如何按描述对 TcxImageComboBox 的项目进行排序?

c# - 将按钮列添加到数据表

c# - 从 StringBuilder 中删除连续的空白行

c# - 将控件的大小重置为其默认值