【发布时间】:2014-01-17 17:46:59
【问题描述】:
在 TexBox/TexEdit 中书写时,如果文本大于控件的大小,则会向右滚动。
如何获取当前的可见性偏移或滚动长度?
为了说明我想要什么:
黑框代表全文。红色框是 TextEdit,包含文本的可见部分。棕色垂直线是插入符号。我想知道的是以像素为单位的偏移量度。
【问题讨论】:
标签: c# winforms devexpress
在 TexBox/TexEdit 中书写时,如果文本大于控件的大小,则会向右滚动。
如何获取当前的可见性偏移或滚动长度?
为了说明我想要什么:
黑框代表全文。红色框是 TextEdit,包含文本的可见部分。棕色垂直线是插入符号。我想知道的是以像素为单位的偏移量度。
【问题讨论】:
标签: c# winforms devexpress
我对此进行了最少的测试,它似乎可以工作,尽管在某些情况下它可能会偏离 1 个像素:
int offset = tb.GetPositionFromCharIndex(0).X;
出于测试目的,我已将其放入 TextChanged 事件处理程序中。
如果它满足您的需求,请告诉我。
干杯
编辑:我已经通过这样做来添加边框的宽度(默认为 Fixed3D):
int offset = tb.GetPositionFromCharIndex(0).X + SystemInformation.Border3DSize.Width;
这似乎给出了更好的结果。
【讨论】: