我正在用鼠标左键移动我的表单。我有这个:
if(e->Button == Windows::Forms::MouseButtons::Left)
{
Point^ mousePos = gcnew Point();
mousePos = Control::MousePosition;
mousePos->Offset(mouse_offset->X,mouse_offset->Y);
Location = mousePos;
}代码似乎没问题,但是视觉返回错误:
错误的System::Windows::Forms::Control::Location::set(System::Drawing::Point)‘:'void C2664:无法将参数1从’System::绘图::Point ^‘转换为’System::绘图::Point‘
我不明白-我创建了变量mousePos作为点^。你知道怎么回事吗?
发布于 2013-05-30 12:29:07
问题是,该方法期望得到一个Point,而您将它传递给一个Point ^ (指向Point - weeee的托管指针,这里有太多的“point”)。
发布于 2013-05-30 12:44:33
Point是一个值类(虽然不是不变的)。为什么要在(托管)堆上分配一个?我认为这一职能中没有任何理由这样做。
https://stackoverflow.com/questions/16835910
复制相似问题