Solved

How do I tell which monitor a form is on when there are more than 2 monitors

Posted on 2011-03-10
2
328 Views
Last Modified: 2012-06-27
Friends,

I have used a routine in the past to reopen a form on a dual screen setup; however, my company now has a four monitor setup where they run this app.

I tried the attached code, but I cannot make it work, it never correctly identifies the right monitor that the ResultViewerForm is on...

Even if I have the form on the second display, it shows that the display (i) is zero.

I want to use this saved in the application properties, to open subsequent forms in the same location/screen.

Thanks in advance!

When I run the attached code, here are my variables on the second loop through...:

            i      1      Integer
            String1      "\\.\DISPLAY2"      String
            String2      "\\.\DISPLAY1,"      String


The thing I don't understand is that String2 should say DISPLAY2, because that is the monitor it is on:

I guess what I need help with, is how do I get the form to tell me which screen it's on...
For i As Integer = 0 To Screen.AllScreens().Length - 1

            Dim String1 As String = stringtoasc(Screen.AllScreens(i).DeviceName.ToString)
            Dim String2 As String = stringtoasc(Screen.FromControl(ResultViewerForm).DeviceName.ToString)

            If String1 = String2 Then
                My.Settings.StartupLocation_Scrn = i
            End If

Open in new window

0
Comment
Question by:indy500fan
2 Comments
 
LVL 96

Accepted Solution

by:
Bob Learned earned 500 total points
ID: 35102414
I would think that you could test if the form's location is within the working area of a Screen.

Untested example:

For Each screen As Screen In Screen.AllScreens
    If screen.WorkingArea.Contains(Me.Location) Then
    End If
Next screen

Open in new window

0
 

Author Comment

by:indy500fan
ID: 35143127
Bob,

I'm glad you responded.  I'm going to test your suggestion, but I had to move on with a brute force solution.  Looking at it, I think it will work (you've not led me wrong in the past), so I will accept your suggestion as the solution.

Thanks,

Eric
0

Featured Post

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

Suggested Solutions

Today I had a very interesting conundrum that had to get solved quickly. Needless to say, it wasn't resolved quickly because when we needed it we were very rushed, but as soon as the conference call was over and I took a step back I saw the correct …
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now