uitextfield 光标位置总是跳回初始位置

初始化界面时,如何将光标定位到用户控件中textBox中
[问题点数:100分,结帖人OROCHIORI607]
初始化界面时,如何将光标定位到用户控件中textBox中
[问题点数:100分,结帖人OROCHIORI607]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
本帖子已过去太久远了,不再提供回复功能。主题 : UITextField光标的初始位置可以设置吗?
级别: 侠客
可可豆: 461 CB
威望: 471 点
在线时间: 95(时)
发自: Web Page
来源于&&分类
UITextField光标的初始位置可以设置吗?&&&
如题,初始光标的位置怎么设施。
级别: 侠客
可可豆: 661 CB
威望: 611 点
在线时间: 369(时)
发自: Web Page
textView.selectedRange = NSMakeRange(0, 0);修改NSRange的loc来设置光标位置
级别: 侠客
可可豆: 461 CB
威望: 471 点
在线时间: 95(时)
发自: Web Page
回 1楼(shichangone) 的帖子
selectedRange是UITextView里才有的属性,UITextField里没有。
级别: 精灵王
可可豆: 7247 CB
威望: 7247 点
在线时间: 235(时)
发自: Web Page
这个我之前也查过,没法设置。
级别: 骑士
UID: 23566
可可豆: 846 CB
威望: 847 点
在线时间: 762(时)
发自: Web Page
回 1楼(shichangone) 的帖子
UITextView里面用到了,多谢~~~
级别: 新手上路
可可豆: 61 CB
威望: 11 点
在线时间: 22(时)
发自: Web Page
TextField有一个属性是textAlignment,把它设置为UITextAlignmentCenter, UITextAlignmentRight, UITextAlignmentLeft就可以在中间,右边,左边
关注本帖(如果有新回复会站内信通知您)
论坛技术问题应该发布到? 正确答案:CocoaChina问答
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 浏览移动版Thunderbird 邮件回复时光标默认位置的问题_百度知道
Thunderbird 邮件回复时光标默认位置的问题
回复邮件的时候,编辑回复内容,感觉很不方便,弹出的邮件编辑窗口内,光标默认停留在原邮件下方,不知道有没有办法改变设定,还要自己在移动到原邮件顶部使用版本。有没有朋友注意到这个,让光标自动停留在原邮件内容顶部呢:最新版14.0点击“回复”按钮
提问者采纳
将配置编辑器”;高级–&高级配置–&gt.default。找到配置编辑器设置方式.identity:打开“工具–&gt.reply_on_top 这一项由默认的0改为1即可;首选项–&gt
提问者评价
谢谢,虽然这个是老版本的解决方案,不过你的回答给了我提示自己找到了解决办法。
其他类似问题
为您推荐:
thunderbird的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁3341人阅读
对DataGridView某行进行修改之后,保证光标显示仍在选中行上?
现实问题:
当前的开发中遇到Datagridview的操作,在对Datagridview中单选行进行操作之后,要回到
Datagridview显示界面,但是显示选中行总是在第一行,这样的话,当数据库中数据行太多的时候,显示太多,选择行也许就修改后客户就找不到自己修改的那一行了
解决方案:
搜索资料:1.得到选中行的行号
int i = DataGridView1.CurrentCell.RowIndex
//当前行号
int j = DataGridView1.CurrentCell.ColumnIndex //当前列号
2.指定DataGridView的滚动框位置
DataGridView1.FirstDisplayedScrollingRowIndex = 0
DataGridView1.FirstDisplayedScrollingColumnIndex = 0
为了解决这个问题,我们可以将Datagridview的滚动块位置设置为修改行的那个位置。这样在Datagridview显示的第一行就是客户操作行了。
具体做法:在选中要修改行的时候,即可获取选中行的Index,方法
(int i = DataGridView1.CurrentCell.RowIndex)
在修改完成后,指定滚动块的位置(DataGridView1.FirstDisplayedScrollingRowIndex = i))
注:这几天国庆放假中,等上班了再验证下,是否可行。
搜索资料:3.在还没有去实现并继续搜索资料中发现,有人提出一个新问题,那就是:在如上操作后显示
的第一行就是我们开始选中的那一行,但是之后 取 CurrentRows 时候会出现和selected rows不同的行。
提出的解决方案为:DataGridView1.Rows(i).Selected = True 设置能保证选中行;
DataGridView1.CurrentCell = DataGridView1.Rows(i).Cells(0) 并且滚动条也会自动的滚动。
DataGridView1.Rows(0).Selected = False
DataGridView1.Rows(i).Selected = True
DataGridView1.FirstDisplayedScrollingRowIndex = i
还有人提到解决方法,但是没去实践,所以不知道具体会是怎么样,所以先记录下来
(dataGridView1[columnIndex, rowIndex].Selected =
dataGridView1.CurrentCell = dataGridView1[columnIndex, rowIndex]; // 强制
今天上班,经过调试,发现这几位仁兄把问题都提到了
int i = DataGridView1.CurrentCell.RowIndex
//得到该行的索引号
dataGridView1[columnIndex, i].Selected = true
//光标移至该行
DataGridView1.FirstDisplayedScrollingRowIndex = i
//将滑块移动到该行
介于,如果在上面操作之后仍要对表格进行操作,比如通过DataGridView1.CurrentCell 查找该行的数据列,那么我们必须做以下操作,因为这个时候真出现了以上那个问题 CurrentRows 时候会出现和selected rows不同的行
dataGridView1.CurrentCell = dataGridView1[columnIndex, i]; // 强制显示该行
int i = DataGridView1.CurrentCell.RowIndex
//得到该行的索引号
dataGridView1.Rows[0].Selected = false
//关闭0行的光标显示
dataGridView1.CurrentCell = dataGridView1[columnIndex, i]; // 强制将光标指向i行
dataGridView1.Rows[i].Selected = true
//光标显示至i行
DataGridView1.FirstDisplayedScrollingRowIndex = i
//将滑块移动到该行
注:columnIndex为任一列序号,如(0,1,2,3&&)但要确保这一列是显示的不是隐藏的列,要不然会报错。。。。。
通过以上语句,将光标强制转到该行,(大概意思应该是这样吧)这样就可以准确的取到该行的数据了。
经以上操作,我们看到显示行确实是我们要的那一行,但是第一行也有显示了,这样就有两行是选择行,所以我就添加了一下第二行代码,关闭了第一行的显示;之后呢?当我们仔细看前面的光标指向,就是行最前面的箭头还是指向第一行的,所以我们还得做强制转移光标的行为,如第三行代码。
再次更新,滑块的初始位置我们也可以获取到,要保证显示位置一致的话,我们可以将原来滑块位置赋给当前位置就好了
添加一行代码
int FirstRowIndex = DataGridView1.FirstDisplayedScrollingRowIndex//得到该行的索引号
后面确定滑块位置的时候,把这个值赋给他就好了
DataGridView1.FirstDisplayedScrollingRowIndex = FirstRowIndex
再次更正:
咳,该死的C#什么都封装好了,原以为是这样,原来不需要最后移动滑块,开始光标的定位已经将滑块移动到要显示的行了,第一行就是我们要显示的行了。所以,如果只是添加或者删除,就不需要最后一行代码了。
但是选中修改行后,要不让他滑动到第一行的话就用下面的方法吧:
找到初始滑块位置,在最后再赋还给滑块就好了,那么原来数据行显示在哪,更新后还是显示在那。。。
再一次完善:
添加,修改,删除时用的方法各不相同,考虑到各种情况的发生。
switch(条件)
if (dgv.RowCount & 0)
dgv.Rows[0].Selected =
dgv.CurrentCell = dgv[k, dgv.RowCount - 1];
dgv.Rows[dgv.RowCount - 1].Selected =
//dgv.FirstDisplayedScrollingRowIndex = dgv.RowCount - 1;
case Update:
dgv.Rows[0].Selected =
dgv.CurrentCell = dgv[k, RowIndex];
dgv.Rows[RowIndex].Selected =
dgv.FirstDisplayedScrollingRowIndex = FirstRowI
case Delete:
if (dgv.RowCount & 0)
if (RowIndex & 0 && (RowIndex - 1) & dgv.RowCount)
dgv.Rows[0].Selected =
dgv.CurrentCell = dgv[k, RowIndex - 1];
dgv.Rows[RowIndex - 1].Selected =
}//dgv.FirstDisplayedScrollingRowIndex = RowIndex - 1;
else if (RowIndex &= 0)
dgv.Rows[0].Selected =
dgv.Rows[0].Selected =
dgv.CurrentCell = dgv[k, dgv.RowCount - 1];
dgv.Rows[dgv.RowCount - 1].Selected =
版权声明:本文为博主原创文章,未经博主允许不得转载。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:366427次
积分:5012
积分:5012
排名:第2512名
原创:94篇
转载:168篇
评论:73条
(2)(1)(8)(4)(2)(1)(1)(1)(2)(1)(1)(2)(3)(1)(3)(2)(1)(2)(3)(1)(4)(3)(1)(2)(2)(2)(1)(1)(7)(5)(3)(3)(7)(3)(5)(2)(1)(1)(1)(2)(2)(1)(1)(2)(3)(1)(1)(2)(1)(6)(2)(2)(7)(6)(1)(8)(5)(2)(2)(2)(4)(2)(5)(4)(1)(2)(2)(1)(2)(1)(2)(4)(2)(2)(1)(1)(2)(2)(5)(4)(4)(3)(4)(6)(2)(4)(3)(3)(5)(6)(7)(13)主题 : UITextField光标的初始位置可以设置吗?
级别: 侠客
可可豆: 461 CB
威望: 471 点
在线时间: 95(时)
发自: Web Page
来源于&&分类
UITextField光标的初始位置可以设置吗?&&&
如题,初始光标的位置怎么设施。
级别: 侠客
可可豆: 661 CB
威望: 611 点
在线时间: 369(时)
发自: Web Page
textView.selectedRange = NSMakeRange(0, 0);修改NSRange的loc来设置光标位置
级别: 侠客
可可豆: 461 CB
威望: 471 点
在线时间: 95(时)
发自: Web Page
回 1楼(shichangone) 的帖子
selectedRange是UITextView里才有的属性,UITextField里没有。
级别: 精灵王
可可豆: 7247 CB
威望: 7247 点
在线时间: 235(时)
发自: Web Page
这个我之前也查过,没法设置。
级别: 骑士
UID: 23566
可可豆: 846 CB
威望: 847 点
在线时间: 762(时)
发自: Web Page
回 1楼(shichangone) 的帖子
UITextView里面用到了,多谢~~~
级别: 新手上路
可可豆: 61 CB
威望: 11 点
在线时间: 22(时)
发自: Web Page
TextField有一个属性是textAlignment,把它设置为UITextAlignmentCenter, UITextAlignmentRight, UITextAlignmentLeft就可以在中间,右边,左边
关注本帖(如果有新回复会站内信通知您)
8*2-5 正确答案:11
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 浏览移动版

我要回帖

更多关于 玩游戏总是跳回桌面 的文章

 

随机推荐