/ / Prendre une capture d'écran de l'écran derrière la forme? - c #, winforms, écran, capture d'écran, capture d'écran

Prendre une capture d'écran de l'écran derrière la forme? - c #, winforms, écran, capture d'écran, capture d'écran

J'essaie de prendre une capture d'écran avec une forme d'écran MAIS Je ne veux pas que mon formulaire soit inclus dans la capture d’écran. C’est mon code actuel pour obtenir la capture d’écran.

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;
}

Cela fonctionne dans une certaine mesure, mais le problème est quelorsque je le fais, l’écran clignote à chaque fois. Y at-il un moyen de le faire afin qu’il n’inclue pas ma forme, mais prenne tout derrière?

Réponses:

1 pour la réponse № 1

Vous ne pouvez pas prendre une capture d'écran de ce qui se trouve derrière votre formulaire, mais vous pouvez masquer votre formulaire, prendre une capture d'écran et afficher à nouveau votre formulaire. Comment faire ceci:

  1. Cachez votre formulaire
  2. Attendez que l’écran ait été repeint.
  3. Prenez la capture d'écran.
  4. Montrez votre formulaire.

Vous devez rendre 2 asynchrones en utilisant une classe Timer.

Bonne chance dans votre tâche.