के माध्यम से माउस क्लिक को रोकना मैं एक फ्लोटिंग साइडबार में 'पेन' बटन को टॉगल करने के बाद माउस के साथ स्क्रीन पर ड्राइंग के लिए थोड़ा टूल बना रहा हूं।एक पारदर्शी विंडोज फॉर्म
मैंने अपनी पृष्ठभूमि के साथ सबसे अधिक खिड़कियों के रूप में इसे (कृपया हंसो मत) किया है क्योंकि इसकी पारदर्शिता कुंजी पूरी स्क्रीन को कवर करती है। । मैं इस निम्नलिखित माउस नीचे जब मैं "ड्राइंग मोड में मीटर मैंने कोशिश की सामान पर फार्म के माध्यम से क्लिक नहीं बनाने की जरूरत है: Windows form with a transparent background that cannot be clicked through How to disable click through on transparent control?
जो सफलतापूर्वक माउस बंद हो जाता है, लेकिन यह भी रूप अन-अधिकतम और माउस के साथ इसे ड्रैग करता है (एचटीसीएपीटीओएन इंटिप्रेट (2) का उपयोग करके) मैंने एमएसडीएन पर सूचीबद्ध कुछ अन्य मूल्यों का उपयोग करने की कोशिश की, लेकिन बिना किसी किस्मत के।
मैं अपनी गहराई से बाहर हूं, किसी भी मदद की बहुत सराहना की (नौसिखिया दोस्ताना कृपया!)
पीएस मैं अभी इसका उपयोग कर रहा हूं ..
//code for allowing clicking through of menus
protected override void WndProc(ref Message m)
{
if (penMode && m.Msg == 0x84)
{
m.Result = new IntPtr(2);
}
else
base.WndProc(ref m);
}
अद्यतन: अब इसे किसी अन्य तरीके से पूरी तरह से पहुंचकर समस्या हल हो गई। ऐसा लगता है कि WndProc काम करेगा इसलिए मैंने पूरी स्क्रीन पर एक खाली रूप बनाया है जिसमें मैंने अपना मुख्य रूप दिखाया है (फॉर्म। शो (यह)) उसमें से। फिर रिक्त रूप की अस्पष्टता को समायोजित करें जो क्लिक करने/रोकने के लिए 0% से 1% के नीचे बैठता है। काम करता है! सभी उत्तरों के लिए धन्यवाद, मुझे बहुत कुछ सिखाया।
परीक्षण 8 मशीन, विंडो के पारदर्शी भाग जनक विंडो पर संदेश नहीं भेजता जब माउस क्लिक किया गया है। (संदेशों को लॉग इन करने और Spy ++ में सत्यापित)। –
@ कोडी, वाह, इस तरह के स्पष्ट और पूर्ण उत्तर के लिए बहुत बहुत धन्यवाद! यह अच्छा लग रहा है, लेकिन अब मैं जो देख रहा हूं वह यह है कि एक बिंदु खींचने के बाद, यदि मैं फिर से उस बिंदु पर क्लिक करता हूं, जो अब नीला है, पारदर्शी नहीं है, तो क्लिक ... –
विंडोज 10 पर काम नहीं करता है उसी कारण जॉन ने उल्लेख किया। –