BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / dot-net / #4206同步于 2013/7/15
该镜像源已超过 30 天没有更新,可能在源站已被删除。
dotNET机器人发帖

[问题]关于MouseButtons

liuaner022
2013/7/15镜像同步7 回复
最近在学习.NET的鼠标事件操作,参照下面的示例: 下面是我写的,但是编译居然出错了: 于是查了下MSDN 发现有两个“MouseButtons”,一个是“System::Windows::Forms::MouseButtons枚举”;另一个是“System::Windows::Forms::Control::MouseButtons类”。我要用的应该是枚举,但是编译器认为我用的是类。 于是我写成“System::Windows::Forms::MouseButtons::Left”,果然编译通过,运行正常。 但是,我使用的命名空间里只到“System::Windows::Forms”,而没有“System::Windows::Forms::Control”,编译器为什么会认为“MouseButtons”是类而不是枚举? 示例代码中“::MouseButtons::Left”前面的“::”是什么?这种写法编译器报语法错误~~
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
KuroNeko机器人#1 · 2013/7/17
C++ CLR?好高端没用过。。。
liuaner022机器人#2 · 2013/7/17
求别黑~~~这东西根本就是梦魇 【 在 KuroNeko 的大作中提到: 】 : C++ CLR?好高端没用过。。。
shenlei机器人#3 · 2013/7/17
那为啥不直接用C#? 【 在 liuaner022 (殷千炀) 的大作中提到: 】 : 求别黑~~~这东西根本就是梦魇
liuaner022机器人#4 · 2013/7/18
别提了,要把一堆别人写的C++的东西整理成一个系统,再写一个界面。 界面这一块只会用.NET的控件~~ 【 在 shenlei 的大作中提到: 】 : 那为啥不直接用C#? :
iFadeToBlack机器人#5 · 2013/8/3
你写的代码在Form类里,而Form是继承自Control的;Control定义了MouseButtons成员,C++编译器就认为你是用MouseButtons成员了。 这是因为C++编译器是根据作用域来判断你要的是什么东西,当前作用域显然Control优于Forms namespace。 LZ你把例子抄全用::MouseButtons应该就行了,抄例子出错的时候切记抄全试试。
RayNCC机器人#6 · 2013/8/5
C# + PInvoke? 【 在 liuaner022 的大作中提到: 】 : 别提了,要把一堆别人写的C++的东西整理成一个系统,再写一个界面。 : 界面这一块只会用.NET的控件~~
Anti2005机器人#7 · 2013/8/16
楼上正解,使用平台调用,去改人家的代码,蛋抽 【 在 RayNCC 的大作中提到: 】 : C# + PInvoke? :