A projector is just another video output. You can press Win + P to switch between connected video devices. I don’t know if it works on Windows 7 or lower.
Have a form with what you want to show. An image, a text or whatever. This will be the ApresentacaoForm
.
Just show this form normally, just adjusting your position, to stay on your second screen.
ApresentacaoForm formulario = new ApresentacaoForm();
Screen[] telas = Screen.AllScreens;
Rectangle bounds = telas[1].Bounds; // pode ser outro índice.
formulario.SetBounds(bounds.X, bounds.Y, bounds.Width, bounds.Height);
formulario.StartPosition = FormStartPosition.Manual;
formulario.Show();
Documentation of Screen.Allscreens at MSDN.
To avoid having a form for each image, leave a form with the image component and pass it in the ApresentacaoForm
the way to this photo, setting it in the component.
If you have difficulties finding the right device, you can filter the vector of Screen
for DeviceName
.
Screen projetor = Screen.AllScreens.FirstOrDefault(f => f.DeviceName == "Meu projetor");
+1 great answer - ps: I used your suggestion from
FirstOrDefault
to make it easier to grab the device, rather than iterating :D– Guilherme Nascimento