मैं लेबल के पीछे एक अदृश्य बटन बनाने की कोशिश कर रहा हूँ।

मैंने अब तक यही हासिल किया है।

इसके पीछे विचार यह है कि यदि मैं किसी संख्या के निचले हिस्से पर क्लिक करता हूं, तो यह घटनी चाहिए, अगर मैं इसके ऊपरी हिस्से पर क्लिक करता हूं, तो यह बढ़ना चाहिए, यही वह है जिसे मैं हासिल करना चाहता हूं।

इस तरह मैंने अपना बटन अदृश्य बना दिया:

button2.FlatStyle = FlatStyle.Flat; 
button2.FlatAppearance.BorderSize = 0; 
button2.FlatAppearance.MouseDownBackColor = Color.Transparent; 
button2.FlatAppearance.MouseOverBackColor = Color.Transparent; 
button2.BackColor = Color.Transparent; 

इसके साथ एकमात्र समस्या यह है कि यदि मैं अपने बटन को लेबल पर ले जाता हूं, तो यह लेबल को छुपा देता है। (मैंने बटन को 'बैक टू बैक' करने की कोशिश की, लेकिन जब मैंने इसे किया, तो यह अब क्लिक करने योग्य नहीं था।)

अगर आपके पास कोई समाधान है तो कृपया इसे मेरे साथ साझा करें :)

0
csbalint 30 जिंदा 2020, 04:22

2 जवाब

सबसे बढ़िया उत्तर

बबलिंग अप इवेंट्स Winforms में मानक द्वारा समर्थित नहीं है, यह डिफ़ॉल्ट रूप से wpf में उपलब्ध है, एक आसान आपकी समस्या का समाधान आपके लेबल की MouseClick घटना को संभालना है

    private void numLabel_MouseClick(object sender, MouseEventArgs e)
        {
            int num = 0;
            int.TryParse(numLabel.Text, num);
            if (e.Y > numLabel.Size.Height / 2) num--; else num++;
            numLabel.Text = num+"";
        }
0
jalsh 30 जिंदा 2020, 04:52

आप एक एयर स्पेस समस्या में चल रहे हैं, यदि आप लेबल देख सकते हैं तो आप बटन पर क्लिक करने में सक्षम नहीं होंगे। माउस निर्देशांक प्राप्त करने के लिए माउसअप ईवेंट लेबल का उपयोग करने का प्रयास क्यों न करें, फिर तुलना करें कि यह लेबल में कहां स्थित है यह निर्धारित करने के लिए कि आपके लेबल को बढ़ाना या घटाना है या नहीं।

कुछ इस तरह:

private void label1_MouseUp(object sender, MouseEventArgs e)
    {
        int temp;

        if (e.Y < label1.Height / 2)
            { if (int.TryParse(label1.Text, out temp))
                label1.Text = (temp += 1).ToString();}
        else
        {
            if (int.TryParse(label1.Text, out temp))
                label1.Text = (temp -= 1).ToString();
        }
    }
0
Mark Hall 30 जिंदा 2020, 04:53