/ / फार्म के पीछे स्क्रीन का स्क्रीनशॉट लें? - सी #, विनफॉर्म, स्क्रीन, स्क्रीनशॉट, स्क्रीन कैप्चर

फॉर्म के पीछे स्क्रीन का स्क्रीनशॉट लें? - सी #, विनफॉर्म, स्क्रीन, स्क्रीनशॉट, स्क्रीन कैप्चर

मैं एक स्क्रीन के रूप में एक स्क्रीनशॉट लेने की कोशिश कर रहा हूँ परंतु मैं नहीं चाहता कि मेरा फॉर्म स्क्रीनशॉट में शामिल किया जाए। यह स्क्रीनशॉट प्राप्त करने के लिए मेरा वर्तमान कोड है।

Bitmap bt;
Graphics screenshot;
private void button1_Click_1(object sender, EventArgs e)
{
this.Opacity = 0;
bt = new Bitmap(Screen.FromControl(this).Bounds.Width, Screen.FromControl(this).Bounds.Height, PixelFormat.Format32bppArgb);
screenshot = Graphics.FromImage(bt);
screenshot.CopyFromScreen(Screen.FromControl(this).Bounds.X, Screen.FromControl(this).Bounds.Y, 0, 0, Screen.FromControl(this).Bounds.Size, CopyPixelOperation.SourceCopy);
pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
pictureBox1.Image = bt;
this.Opacity = 1;
}

यह एक डिग्री के लिए काम करता है, लेकिन समस्या यह है किजब मैं ऐसा करता हूं तो यह स्क्रीन हर बार झिलमिलाहट का कारण बनता है। क्या इसे बनाने का कोई तरीका है इसलिए यह मेरा फॉर्म शामिल नहीं करता है, लेकिन फिर भी इसके पीछे सबकुछ लेता है?

उत्तर:

उत्तर № 1 के लिए 1

आप अपने फॉर्म के पीछे क्या है इसका स्क्रीनशॉट नहीं ले सकते हैं, लेकिन आप अपना फॉर्म छुपा सकते हैं, एक स्क्रीन शॉट ले सकते हैं और अपना फॉर्म फिर से दिखा सकते हैं। यह कैसे करना है:

  1. अपना फॉर्म छुपाएं
  2. कुछ समय तक प्रतीक्षा करें जब तक स्क्रीन को पुनर्निर्मित नहीं किया जाता है।
  3. स्क्रीनशॉट लें।
  4. अपना फॉर्म दिखाएं

आपको टाइमर क्लास का उपयोग करके 2 एसिंक्रोनस बनाना चाहिए।

अपने काम के साथ शुभकामनाएँ।