2011-06-17 17 views
5

मैं एक सी # सूची आवेदन कर रहा हूं। हालांकि, मैं एक नक्शा बनना चाहता हूं जहां उपयोगकर्ता कई क्षेत्रों पर क्लिक कर सकता है और उस निश्चित क्षेत्र पर सूची के साथ बातचीत कर सकता है।क्लिक करने योग्य छवि मानचित्र सी #

वर्तमान में मैंने मानचित्र को फ़ोटोशॉप किया और इसे फ़ॉर्म की पृष्ठभूमि बना दिया। मैं अलग-अलग क्षेत्रों में चित्र बॉक्स डालने की योजना बना रहा हूं और बटन को उपस्थिति देने के लिए माउस को मैन्युअल रूप से माउस पर क्लिक करके क्लिक करता हूं।

वैसे भी, मेरा सवाल है, क्या यह एक अच्छा विचार है? क्या मुझे नक्शा को एक पिक्चरबॉक्स में लोड करना चाहिए, बटनशिप दृश्य प्रभाव से छुटकारा पाएं और क्लिक के निर्देशांक ट्रैक करें?

उत्तर

2

जबकि मुझे नहीं लगता कि यह एक बुरा विचार है, तो एक विकल्प Rectangles का उपयोग करना होगा और माउस पर क्लिक किया गया बिंदु किसी भी में निहित है या नहीं, यह जानने के लिए Rectangle.Contains(Point) की एक श्रृंखला शामिल है। क्लिक करने योग्य क्षेत्रों।

ईजी।

Rectangle R1 = new Rectangle(/*Passed Variables*/); 
Rectangle R2 = new Rectangle(/*Passed Variables*/); 
//... 
OnClick(object sender, MouseEventArgs e) 
{ 
If (R1.Contains(e.Location)) 
    { 
    //Stuff 
    } 
else 
{ 
    If (R2.Contains(e.Location)) 
    { 
    //Stuff 
    } 
} 
} 

आप आयत वस्तुओं की एक बड़ी सूची है, हालांकि, आप हमेशा पाश के लिए आयत की एक सरणी और एक जाँच के लिए एक अधिक कुशल तरीका के लिए इस्तेमाल कर सकते हैं, तो क्लिक किया स्थान किसी भी आयत के अंदर है।

+0

यदि 1 से अधिक – mpen

0

कोडप्रोजेक्ट पर, किसी ने इस उद्देश्य के लिए ImageMap Control बनाया है। मुझे लगता है कि अन्य उपलब्ध हैं।

+0

धन्यवाद, तो मैं एक सरणी का उपयोग करूंगा, धन्यवाद, मैं इसे देख लूंगा – barbara

संबंधित मुद्दे