سؤال

أحاول الحصول على موضع LAT/LON من الماوس في تطبيق Windows Forms باستخدام BrowserControl و Igeplugin. أي شخص لديه أدنى فكرة؟

هل كانت مفيدة؟

المحلول

هذا ليس صعبًا جدًا إذا كنت تستخدم WinForms Free Geplugin Control Librar y- فقط اتبع هذه الخطوات البسيطة

تحتاج إلى إخبار كائن متصفح الويب الذي تريد الاستماع إليه لأحداث Mousemove

 geWebBrowser.AddEventListener(gePlugin.getGlobe(), "mousemove");

ثم تحتاج إلى إعداد بعض معالجات الأحداث. يجب أن يكون الكود أدناه سهل القراءة. يمكنك تحديد Lat / طويل من مؤشر الماوس من حجة mouseevent في طريقة DomouseMove

geWebBrowser.KmlEvent += GeWebBrowserKmlEvent;


private void GeWebBrowserKmlEvent(object sender, GEEventArgs e)
        {
            // if it is a mouse event
            if (null != sender as IKmlMouseEvent)
            {
                handleKmlMouseEvents((IKmlMouseEvent)sender, e.Data);
            }
            else
            {
                MessageBox.Show(GEHelpers.GetTypeFromRcw(sender));
            }
        }

 private void handleKmlMouseEvents(IKmlMouseEvent mouseEvent, string action)
        {
            string currentTarget = mouseEvent.getCurrentTarget().getType();

            switch (action)
            {
                case "mousemove":
                    {
                        DoMouseMove(mouseEvent);
                        break;
                    }

                case "click":
                    {
                        DoClick(mouseEvent, currentTarget);
                        break;
                    }
                case "mousedown":
                    {
                        DoMouseDown(mouseEvent, currentTarget);
                        break;
                    }
                case "mouseup":
                    {
                        DoMouseUp(mouseEvent);
                        break;
                    }
            }
        }

 private void DoMouseMove(IKmlMouseEvent mouseEvent)
 {

 }
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top