InputMan输入控件(GcText,GcNumber,GcDate)的高亮问题
版本:PowerTools InputMan for Windows Forms 7.0J需求:
对于GcText,GcNumber,GcDate输入控件,TAB进入控件时,想变成全选状态;鼠标点击进入时,不是全选状态。不知能否实现?
(控件有HIGHLIGHT的属性,但是设置为TRUE后,TAB进入和鼠标进入都全选了,不满足需求) 回复 1楼miyaminn的帖子
没有直接的接口可以实现。
你可以尝试在GotFocus事件里,判断当tab键进入,设置Hightlight为true,鼠标键进入,设置highlight为false 不用那么麻烦,你尝试这段Code:
public Form1()
{
InitializeComponent();
this.gcTextBox1.GotFocus += gcTextBox1_GotFocus;
}
void gcTextBox1_GotFocus(object sender, EventArgs e)
{
this.gcTextBox1.SelectAll();
}
唯一的遗憾可能是鼠标点击获得Focus,光标会在末尾略闪烁一下下,如果觉得还能接受,那么这个解决方案是最简单的。
以上 感谢各位版主的回答!:hjyzw:
我这边尝试了Leo 版主的方法。
GcText的时候,可以实现我想要的功能。
但是GcNumber和GcDate的话,如果使用上述方法,鼠标点进去后,还是会全选的。
这个就没办法了是么? 回复 4楼miyaminn的帖子
这个貌似没有什么快餐式的解决方法,只能跑去处理鼠标键盘消息,记点儿Flag什么的了。 多谢管理员的回答。
回头再和客户沟通一下。 回复 6楼miyaminn的帖子
好的。如果依然有问题,请提出。 再请教以下Alice版主:
如果按照你说的方法:
你可以尝试在GotFocus事件里,判断当tab键进入,设置Hightlight为true,鼠标键进入,
设置highlight为false
我怎么判断光标进入时时Tab还是鼠标呢?这个有什么方法吗? 回复 8楼miyaminn的帖子
有关如何判断鼠标是否按下和键盘消息,是属于微软Framework下的技术,网上会有很多更详细的资料,能够帮助你。
大概说就是有MouseButtons和Keys可以获取到鼠标左键或是Keys.Tab。
页:
[1]