मैं वर्तमान में एक गेम बना रहा हूं जहां खिलाड़ी अपनी इकाइयों में से एक पर क्लिक करेगा (जो चित्र बॉक्स हैं) और एक सर्कल केंद्र में खिलाड़ी की इकाई के साथ दिखाई देगी। (मंडल भी एक पिक्चरबॉक्स है) जब खिलाड़ी सर्कल के पिक्चरबॉक्स पर क्लिक करता है तो मुझे यह पता लगाने की आवश्यकता होती है कि क्लिक की स्थिति सर्कल के त्रिज्या के अंदर है या नहीं। मेरा सवाल यह है कि मैं क्लिक की स्थिति कैसे प्राप्त करूं?एक क्लिक की स्थिति कैसे प्राप्त करें?
उत्तर
क्लिक हैंडलर में कार्य करें:
MousePosition.X
MousePosition.Y
उदाहरण जोड़ें:
//
// pictureBox1 Init
//
this.pictureBox1.Location = new System.Drawing.Point(1, 1);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(100, 100);
this.pictureBox1.Click += new System.EventHandler(this.pictureBox1_Click);
...................... ....................
private void pictureBox1_Click(object sender, EventArgs e)
{
MessageBox.Show(string.Format("X: {0} Y: {1}", MousePosition.X, MousePosition.Y));
}
शो: "एक्स: 537 Y: 946"
एक और बात:
निर्देशांक वाले माउसइवेंटएआरजी केवल माउसअप और माउसडाउन प्राप्त करते हैं।
माउसक्लिक आपको कॉर्डिनेट्स को पुन: प्राप्त नहीं कर सकता है क्योंकि क्लिक माउस और माउसडाउन से होता है और इसमें दोनों अलग-अलग निर्देशांक हो सकते हैं।
एक और समाधान (सोचो यह सबसे अच्छा)
private int X;
private int Y;
private void pictureBox1_Click(object sender, EventArgs e)
{
MessageBox.Show(string.Format("X: {0} Y: {1}", X, Y));
}
private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
{
X = e.X;
Y = e.Y;
}
क्या मुझे कोड प्रकार का उदाहरण मिल सकता है क्योंकि जब मैं एक पिक्चरबॉक्स पर क्लिक करता हूं तो मुझे क्लिक करने के लिए क्लिक नहीं मिल सकता है मैंने परीक्षण किया था: ऑनडॉइडक्लिक (MouseEventArgs e) { बेस.ऑनमोउसक्लिक (ई); यदि (MousePosition.X> 200) {MessageBox.Show ("YESSSSSSS"); } } – Mobianhero
मैंने ऊपरी भाग में उदाहरण जोड़ा है! –
निर्देशांक के साथ MouseEventArgs केवल माउसअप और माउसडाउन प्राप्त करता है। माउसक्लिक आपको कॉर्डिनेट्स को पुन: प्राप्त नहीं कर सकता क्योंकि क्लिक माउस और माउसडाउन से होता है और इसमें दोनों अलग-अलग निर्देशांक हो सकते हैं। –
बात की इस तरह के लिए PictureBox
की MouseClick
घटना का उपयोग करें ...
देख
http://msdn.microsoft.com/en-us/library/system.windows.forms.picturebox.aspx
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.mouseclick.aspx
http://msdn.microsoft.com/en-us/library/system.windows.forms.mouseeventargs.aspx
मुझे अभी भी नहीं दिखाई देता है कि मैं – Mobianhero
पर क्लिक करने के निर्देशांक कैसे प्राप्त कर सकता हूं 'ऑनमोउसक्लिक' को 'माउसईवेंटएआरजीएस 'पैरामीटर के रूप में प्राप्त होता है जिसमें' एक्स' और 'वाई' निर्देशांक होते हैं ... ऊपर दिए गए लिंक देखें ... – Yahia
मैं बस इसके बजाय इसे xna पर बनाया – Mobianhero
यदि आप गेम बनाने की दिशा में काम कर रहे हैं, तो Winforms ढांचे का उपयोग करना सबसे अच्छा विकल्प नहीं है। एक कंसोल आधारित गेम के साथ शुरू करने और XNA (या किसी अन्य सी # गेम इंजन) तक अपना रास्ता काम करने के बारे में कैसे। – Neowizard