获得焦点问题

YourKing 2010-08-11 10:49:49
C#调用了一个C++写的dll,实现在Form上自画了个区域窗口。
现在的问题是按Tab键能够将焦点在Form上已有的控件间进行切换,那个自绘的窗口得不到焦点,而同样的做法在VC上是可以获得焦点的,请问怎么让C#的也可以获得焦点?
...全文
128 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
porschev 2010-08-11
  • 打赏
  • 举报
回复
帮顶。。。想知道。。。
YourKing 2010-08-11
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 zyl_leilei 的回复:]

你能不能获取到那个那个自绘的窗体呢,要是能可以控件.focus();获得焦点。
或者你试试把它的TabIndex值改一下,因为Tab建转移焦点的顺序是根据这属性来的。
[/Quote]
自绘的窗体是C++ DLL实现的,没有TabIndex属性呢。
在C++下叫WS_TABSTOP属性,应该跟这个类似,但是我已经在DLL里面设了,在VC中调用此DLL是没有这个问题的
malun666 2010-08-11
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 yourking 的回复:]

引用 4 楼 lonet 的回复:

试试用个容器把它装起来!

初学C#,怎么封装?焦点怎么传递呢?
[/Quote]
将自会的图形放到一个panel中,然后让panel获取焦点
-小蕾- 2010-08-11
  • 打赏
  • 举报
回复
你能不能获取到那个那个自绘的窗体呢,要是能可以控件.focus();获得焦点。
或者你试试把它的TabIndex值改一下,因为Tab建转移焦点的顺序是根据这属性来的。
YourKing 2010-08-11
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lonet 的回复:]

试试用个容器把它装起来!
[/Quote]
初学C#,怎么封装?焦点怎么传递呢?
lonet 2010-08-11
  • 打赏
  • 举报
回复
试试用个容器把它装起来!
lanse20_2010 2010-08-11
  • 打赏
  • 举报
回复
可以用tableindex,我发现在添加控件的时候这个值好像就已经设置好了
fenshm 2010-08-11
  • 打赏
  • 举报
回复
关注~!结果怎么样?
YourKing 2010-08-11
  • 打赏
  • 举报
回复
感谢各位的帮忙。
我试着看看
teayear 2010-08-11
  • 打赏
  • 举报
回复
我们把焦点转移到容器之后还得需要考虑容器中获得选中的区域,试下bloodish的方法。
bloodish 2010-08-11
  • 打赏
  • 举报
回复
实现一个UserControl,在其上面绘图.
同时在UserControl的构造函数中设置:
this.SetStyle(ControlStyles.Selectable,true);

那么这个UserControl就是可以被Tab选择的

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧