求解。 C# TextBox.SelectionStart 和SendKeys.SendWait 和 Keys.Shift, Keys.ShiftKey
2个回答
2013-08-28
展开全部
1 第一个是所谓的修改键 就是他是一个可以和其他键比如A一起的位枚举,你按下Shift+A的时候KeyCode就是Keys.Shift | Keys.A,当你单独按下Shift键的时候,KeyCode就是Keys.ShiftKey 或者他和Keys.Shift的 |,记住Key结尾的就是说他当作一个按键输入而不是修改键输入的标志
2 textbox的selectionstart会受text设置影响,如果你直接设置text的话,有可能selectionstart会变成0,而你把索引存储起来的话,那么他就不会受text被设置selectionstart变化的影响
3 因为KeyCode不包含修改键,比如Shift+A,那么KeyCode只有A的部分而没有Shift,所以发送过去没有大写,你要发送的话最好发送KeyData
4 前者是阻塞方法,因为你要知道windows里面是内建的消息机制,也就是说窗口处理的时候会有阻塞,你应该见过有时候窗口会死掉,什么都干不了,这就是被阻塞住了,那么SendWait就会确保按键发送并处理之后才返回,那么如果目标程序阻塞,此程序当前执行的代码也会阻塞,同样会死掉,而Send就是发送以后不管了,不会阻塞程序
2 textbox的selectionstart会受text设置影响,如果你直接设置text的话,有可能selectionstart会变成0,而你把索引存储起来的话,那么他就不会受text被设置selectionstart变化的影响
3 因为KeyCode不包含修改键,比如Shift+A,那么KeyCode只有A的部分而没有Shift,所以发送过去没有大写,你要发送的话最好发送KeyData
4 前者是阻塞方法,因为你要知道windows里面是内建的消息机制,也就是说窗口处理的时候会有阻塞,你应该见过有时候窗口会死掉,什么都干不了,这就是被阻塞住了,那么SendWait就会确保按键发送并处理之后才返回,那么如果目标程序阻塞,此程序当前执行的代码也会阻塞,同样会死掉,而Send就是发送以后不管了,不会阻塞程序
2013-08-28
展开全部
具体一点楼主
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询