TextBox的问题(急) 假设我有一个多行 TextBox 一次能显示十行(提供一个垂直滚动条)用它来显示一个100行的文本我怎么才能知道 TextBox 中显示的第一行,是我这100行文本中的第几行?不知道我这么说是否明确! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我的意思就是: 想得到 TextBox 控件显示的文本中 (显示出来的,由于TextBox高度不够,文本多了肯定显示不全) 当它显示到文本中间的某一位置时,我想知道 TextBox 显示的是 文本中的哪几行 好像跟我上面说的差不多啊,呵呵,不明确我再描述 我没做过这种需求, 但是我有个思路: 获得TextBox的scrollBar的位置, 然后算出对应的行号应该是有这个API的 对呀,我想也是有API,但是我不知道是哪个API , SendMessage能做到吗, 该怎么做啊 应该可以根据 SelectionStart 属性 得到当前光标的所在位置。然后统计出从起始位置到当前位置的字符串中有多少换行符。 这种方法只能得到光标所在的行是第几行, 可是得不到我想要的 TextBox 显示的是第几行 为什么不用richTextBox,做起来简单要是你能得到当前光标是第几行(curRow)一样也可以得到你要的当前textbox的第一行是firstRow = curRow / 10 + 1 wcmj(望尘莫及)因为richTextBox我找不到双击事件!你给我的方法也是一个解决办法,完善一点就是要先得到字体的高度, 有TextBox高度除以字高,得到 TextBox可以显示的行,再用你说的方法这个问题我自己做出来了,我的方法是, 鼠标按下时,得到当前坐标, 再用坐标除以行高, 得到一个数, 再用当前鼠标所在行减这个数就OK了一会结帖! firstline = SendMessage((hWndControl, EM_GETFIRSTVISIBLELINE,0,0 ); c# Button控制GridView 根据datetimepicker控件选择的时间筛选数据的问题 dev的XtraReports,打印问题! 谁用C#做过音频转换的工具啊?! datagridview赋值 求助 高分求Applied Microsoft .NET Framework Programming的电子版 怎么在窗体中读取到WPS中内容求大神求代码 usercontrol的问题 返回值的问题 Web 2.0相关 怎样得到操作系统是英文,还是中文版本?
好像跟我上面说的差不多啊,呵呵,不明确我再描述
应该是有这个API的
当前textbox的第一行是
firstRow = curRow / 10 + 1
你给我的方法也是一个解决办法,
完善一点就是要先得到字体的高度, 有TextBox高度除以字高,得到 TextBox可以显示的行,
再用你说的方法
这个问题我自己做出来了,
我的方法是, 鼠标按下时,得到当前坐标, 再用坐标除以行高, 得到一个数, 再用当前鼠标所在行减这个数就OK了一会结帖!