2008-08-07 29 views
14

मेरे पास .NET 2 पर एक WinForms प्रोग्राम लिखा गया है जो वेबब्रोसर नियंत्रण होस्ट करता है और ज्ञात सर्वर से एएसपीनेट पृष्ठों को प्रस्तुत करता है।किसी होस्ट किए गए ब्राउज़र नियंत्रण पर खींचें और छोड़ें

मैं अपने Winforms ऐप में एक वृक्षदृश्य से एक पेड़ नोड खींचने में सक्षम होना चाहता हूं, होस्ट किए गए वेब पेज में एक विशिष्ट स्थान में और इसे वहां एक जावास्क्रिप्ट ईवेंट ट्रिगर कर सकता हूं। वर्तमान में, मैं IDocHostUIHandler इंटरफ़ेस को कार्यान्वित कर सकता हूं और ब्राउज़र नियंत्रण पर ड्रैग \ ड्रॉप ईवेंट प्राप्त कर सकता हूं, फिर पृष्ठ पर एक स्क्रिप्ट निष्पादित करने के लिए नियंत्रण पर Navigate("javascript:fire_event(...)") पर कॉल करें। हालांकि, मैं चाहता हूं कि यह केवल तभी काम करे जब मैं पृष्ठ के विशिष्ट भाग पर डेटा छोड़ देता हूं।

मुझे लगता है कि एक समाधान, बुलेट काटने और एक सक्रिय ब्राउज़र नियंत्रण के रूप में एक कस्टम ब्राउज़र प्लगइन लिखना होगा, एम्बेड करें कि उस स्थान पर जहां मैं ड्रॉप करना चाहता हूं और उसे आवश्यक ड्रैग \ ड्रॉप इंटरफेस को लागू करने देता हूं ।

क्या यह काम करेगा? क्या कोई क्लीनर दृष्टिकोण है? क्या मैं इस तथ्य का लाभ उठा सकता हूं कि ब्राउजर नियंत्रण मेरे ऐप में होस्ट किया गया है और कुछ और स्तर की बातचीत प्रदान करता है?

उत्तर

2

याहू में BrowserPlus प्रोजेक्ट पर नज़र डालें।

ऐसा लगता है कि उन्होंने टूलकिट बनाया है ताकि आपको ब्राउज़र प्लगइन लिखने का किरदार काम करने की आवश्यकता न हो।

1

यदि आप उस पृष्ठ के हिस्से की स्क्रीन स्थिति ढूंढ सकते हैं जिसमें आप रुचि रखते हैं, तो आप ड्रॉप ईवेंट प्राप्त करते समय माउस की स्थिति से तुलना कर सकते हैं। मुझे यकीन नहीं है कि यह कितना व्यावहारिक है यदि आप डीओएम या व्हाट्नॉट से जानकारी प्राप्त कर सकते हैं।

वैकल्पिक रूप से आप जावास्क्रिप्ट का उपयोग कर पृष्ठ के बिट पर माउस ईवेंट को कार्यान्वित कर सकते हैं?