找回密码
 立即注册

QQ登录

只需一步,快速开始

zj_wind

中级会员

11

主题

31

帖子

824

积分

中级会员

积分
824

活字格认证

zj_wind
中级会员   /  发表于:2011-7-23 12:26  /   查看:10876  /  回复:10
我在使用textbox或是这combobox时,发现,每当我在字符串的中间,进行文字修改时,光标都会退回到文字末尾,有什么办法,能够让他保持当前光标位置吗?

10 个回复

倒序浏览
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-7-25 09:54:00
沙发
你说的TextBox和BomboBox是WinForm中的标准控件吗
回复 使用道具 举报
zj_wind
中级会员   /  发表于:2011-7-25 14:28:00
板凳

回复 2# Zera 的帖子

应该是 multirow的标准控件
GrapeCity.Win.MultiRow.TextBoxCell
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-7-25 15:37:00
地板
回复 使用道具 举报
robert
金牌服务用户   /  发表于:2011-7-25 15:39:00
5#
MultiRow的策略是每次进入编辑状态都把光标放在文字的末尾。
但是如果已经进入编辑状态了,不会在编辑的过程中调整光标的位置。
回复 使用道具 举报
zj_wind
中级会员   /  发表于:2011-7-25 16:47:00
6#
多谢指点

已经清楚了,是因为我在每次改变文字的值时会调一个cellformattedvaluechange事件
回复 使用道具 举报
zj_wind
中级会员   /  发表于:2011-7-25 16:51:00
7#

回复 5# robert 的帖子

请问我能否获得 我在TextBoxCell中用鼠标选中的文字的开始,终了光标位置呢
回复 使用道具 举报
zj_wind
中级会员   /  发表于:2011-7-25 16:56:00
8#
就是想知道选中文字的开始和终了位置
回复 使用道具 举报
robert
金牌服务用户   /  发表于:2011-7-25 16:59:00
9#
C#
  1. int selectionStart = (this.gcMultiRow.EditingControl as TextBox).SelectionStart;
  2. int selectionLength = (this.gcMultiRow.EditingControl as TextBox).SelectionLength;
复制代码

VB
  1. Dim selectionStart As Integer = TryCast(Me.gcMultiRow.EditingControl, TextBox).SelectionStart
  2. Dim selectionLength As Integer = TryCast(Me.gcMultiRow.EditingControl, TextBox).SelectionLength
复制代码
回复 使用道具 举报
zj_wind
中级会员   /  发表于:2011-7-25 17:00:00
10#
应该使用SelectionStart
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部