微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在面板移动窗体窗口 C++/CLR 内使鼠标拖动?

如何解决如何在面板移动窗体窗口 C++/CLR 内使鼠标拖动?

我有这个 System::Windows::Forms::Panel,我想启用它,这样如果用户单击并拖动鼠标,就会将窗口拖到周围。

我可以这样做吗?我是否必须实现多个事件?

解决方法

我建议您尝试拨打 Control.MouseDown EventControl.MouseMove Event

这是我的代码,我建议你可以参考:

    Point pt;

    private: System::Void panel1_MouseDown(System::Object^ sender,System::Windows::Forms::MouseEventArgs^ e) 
    {
    
        Point mouseDownLocation = Point(e->X,e->Y);
        pt = Cursor->Position;

    }
    private: System::Void panel1_MouseMove(System::Object^ sender,System::Windows::Forms::MouseEventArgs^ e) 
    {

        if (e->Button == System::Windows::Forms::MouseButtons::Left)
        {
            int px = Cursor->Position.X - pt.X;
            int py = Cursor->Position.Y - pt.Y;
    
            panel1->Location = System::Drawing::Point(panel1->Location.X + px,panel1->Location.Y + py);

            pt = Cursor->Position;
        }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。