找回密码
 立即注册

QQ登录

只需一步,快速开始

junlingzhu2002

银牌会员

38

主题

150

帖子

3344

积分

银牌会员

积分
3344

活字格认证

junlingzhu2002
银牌会员   /  发表于:2012-8-31 12:38  /   查看:6620  /  回复:4
怎样取得输入的数字在TextBoxCell.Text的位置
如果是TextBox可以用SelectionStart

4 个回复

倒序浏览
wedy.wang
初级会员   /  发表于:2012-8-31 15:47:00
沙发
请参考下面的代码:
  1. void Form1_Load(object sender, EventArgs e)
  2.         {
  3.             this.gcMultiRow1.EditingControlShowing += gcMultiRow1_EditingControlShowing;
  4.         }
  5.         void gcMultiRow1_EditingControlShowing(object sender, EditingControlShowingEventArgs e)
  6.         {
  7.             TextBox textBox = e.Control as TextBox;
  8.             if (textBox != null)
  9.             {
  10.                 var selectionStart = textBox.SelectionStart;
  11.             }
  12.         }
复制代码
回复 使用道具 举报
junlingzhu2002
银牌会员   /  发表于:2012-9-6 09:51:00
板凳
不好意思,
我用的是VB.NET,可以在从新发个给我吗
回复 使用道具 举报
wedy.wang
初级会员   /  发表于:2012-9-6 14:25:00
地板
回复 3楼junlingzhu2002的帖子

你想在什么时机获取这些属性?
你可以在GcMultiRow的EditingControlShowing事件里面首先拿到e.Control, 将它转换为TextBox,然后再挂TextBox的相关事件,来获取你想要的这几个属性(SelectionStart,SelectionLength)。
  1. Public Class Form1
  2.     Private Sub GcMultiRow1_EditingControlShowing(sender As Object, e As EditingControlShowingEventArgs) Handles GcMultiRow1.EditingControlShowing
  3.         Dim textBox As TextBox = TryCast(e.Control, TextBox)
  4.         If textBox IsNot Nothing Then
  5.             AddHandler textBox.TextChanged, New EventHandler(AddressOf Me.TextBox_TextChanged)
  6.         End If
  7.     End Sub
  8.     Private Sub TextBox_TextChanged(sender As Object, e As EventArgs)
  9.         Dim textBox As TextBox = TryCast(sender, TextBox)
  10.         Dim selectionStart = textBox.SelectionStart
  11.         Dim selectionLength = textBox.SelectionLength
  12.     End Sub
  13. End Class
复制代码
回复 使用道具 举报
junlingzhu2002
银牌会员   /  发表于:2012-9-11 12:47:00
5#
谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部