Il post mostra un semplice tip per vedere se un punto è visibile nello schermo (anche in presenza di più schermi).
  La grafica dell'esempio è "mozzafiato":
  
 
   
  Il codice è invece il seguente:
             1: Public Class Form1
       2:  
       3:     Private Sub Button1_Click(ByVal sender As System.Object, _
       4:                 ByVal e As System.EventArgs) Handles Button1.Click
       5:         Me.TxtEsito.Text = "..."
       6:         Dim p As Point
       7:         Try
       8:             Me.Cursor = Cursors.WaitCursor
       9:             Threading.Thread.Sleep(120)
      10:             p = New Point(Me.TxtX.Text, Me.TxtY.Text)
      11:             Dim s As Screen = Screen.FromPoint(p)
      12:             If s Is Nothing Then
      13:                 Me.TxtEsito.Text = "non nello schermo"
      14:             Else
      15:                 Me.TxtEsito.Text = "Schermo '" & s.DeviceName & "'"
      16:                 ' Verifica se il punto è contenuto
      17:                 If s.WorkingArea.Contains(p) Then
      18:                     Me.TxtEsito.Text &= ": il punto è contenuto!"
      19:                 Else
      20:                     Me.TxtEsito.Text &= ": il punto NON è contenuto!"
      21:                 End If
      22:             End If
      23:         Catch ex As Exception
      24:             Me.TxtEsito.Text = ex.Message
      25:         Finally
      26:             Me.Cursor = Cursors.Default
      27:         End Try
      28:     End Sub
      29:  
      30:  
      31: End Class
   
 
 
In pratica è sufficiente determinare lo schermo che "dovrebbe" mostrare il punto che ci interessa:
  
    Dim s As Screen = Screen.FromPoint(p)
   
 
Ho scritto "dovrebbe" in quanto, se nessuno schermo contiene quel punto allora il metodo restituisce lo schermo più "vicino" al punto.
A questo punto, per essere sicuri che il punto sia contenuto nell'area visibile dello schermo, basta eseguire la seguente chiamata:
  
    If s.WorkingArea.Contains(p) Then