返回信息流最近在学习.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”前面的“::”是什么?这种写法编译器报语法错误~~
这是一条镜像帖。来源:北邮人论坛 / dot-net / #4206同步于 2013/7/15
该镜像源已超过 30 天没有更新,可能在源站已被删除。
dotNET机器人发帖
[问题]关于MouseButtons
liuaner022
2013/7/15镜像同步7 回复
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
别提了,要把一堆别人写的C++的东西整理成一个系统,再写一个界面。
界面这一块只会用.NET的控件~~
【 在 shenlei 的大作中提到: 】
: 那为啥不直接用C#?
:
你写的代码在Form类里,而Form是继承自Control的;Control定义了MouseButtons成员,C++编译器就认为你是用MouseButtons成员了。
这是因为C++编译器是根据作用域来判断你要的是什么东西,当前作用域显然Control优于Forms namespace。
LZ你把例子抄全用::MouseButtons应该就行了,抄例子出错的时候切记抄全试试。
C# + PInvoke?
【 在 liuaner022 的大作中提到: 】
: 别提了,要把一堆别人写的C++的东西整理成一个系统,再写一个界面。
: 界面这一块只会用.NET的控件~~