Docking Window on Screen

  • Thread starter Thread starter James Jeff
  • Start date Start date
J

James Jeff

background:
I am using C# .NET Framework 1.1, trying to immitate the docking behaviour
of Programs like ICQ.

issue:
I do not want to dock Controls within my Program, I want to give my user the
ability, to dock my Program itself to any part of the screen (like ICQ or
the Windows TaskBar).

problem:
I kept on searching the net for information regarding my issue, but didn't
find anything of use. Every article I found talking about dotnet and
docking, was talking about how to dock controls within my Container, but no
article mentioned how to dock the windowsform itself to any part of the
screen.

question:
Do you have any idea, what I could do?

Any help is appreciated,
thx,
James Jeff
 
Hello James,

The Form class provided by .NET Framework doesn't support the docking
feature. Hence, we need to implement it by ourself. Basically, we should do
the follwoing things:

1. Handle the Move event or OnMove method
2. Just the distance between the Form's bound and screen edges
3. Adjust the Form's position if it is very close the screen edges

I hope this helps you.

Best regards,

Lion Shi [MSFT]
MCSE, MCSD
Microsoft Support Engineer
Get Secure! www.microsoft.com/security

This posting is provided "AS IS" with no warranties, and confers no rights.
You assume all risk for your use. 2003 Microsoft Corporation. All rights
reserved.
--------------------
| From: "James Jeff" <[email protected]>
| Subject: Docking Window on Screen
| Date: Mon, 28 Jul 2003 15:07:43 +0200
| Lines: 26
| X-Priority: 3
| X-MSMail-Priority: Normal
| X-Newsreader: Microsoft Outlook Express 6.00.3790.0
| X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| Message-ID: <#[email protected]>
| Newsgroups: microsoft.public.dotnet.framework.windowsforms
| NNTP-Posting-Host: 213.129.239.136
| Path: cpmsftngxa06.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP11.phx.gbl
| Xref: cpmsftngxa06.phx.gbl
microsoft.public.dotnet.framework.windowsforms:49107
| X-Tomcat-NG: microsoft.public.dotnet.framework.windowsforms
|
| background:
| I am using C# .NET Framework 1.1, trying to immitate the docking behaviour
| of Programs like ICQ.
|
| issue:
| I do not want to dock Controls within my Program, I want to give my user
the
| ability, to dock my Program itself to any part of the screen (like ICQ or
| the Windows TaskBar).
|
| problem:
| I kept on searching the net for information regarding my issue, but didn't
| find anything of use. Every article I found talking about dotnet and
| docking, was talking about how to dock controls within my Container, but
no
| article mentioned how to dock the windowsform itself to any part of the
| screen.
|
| question:
| Do you have any idea, what I could do?
|
| Any help is appreciated,
| thx,
| James Jeff
|
|
|
|
|
 
Hi Lion,

Thank you for your help. I thought of that way too, but it does not solve my
issue completely.

When moving a normally docking window to the edge of the screen, not only
does the window get docked and adjusted, but the remaining Screen.Workspace
is corrected, hence the other running programs are adjusted in size as
well...

Any idea or help?

Best regards,
James
 
Thank you very much for your help, I think this is exactly what I was
looking for!
Going to implement it in the next few days, and let's see wether it solves
my problem completely... :-)

best regards,
James

Lion Shi said:
Hello James,

Then you can register the form as an AppBar (application desktop toolbar),
which is similar to the Microsoft Windows taskbar. You may get the detailed
info about it from:

http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/programmersgu
ide/shell_int/shell_int_programming/appbars.asp

Also, I have found a sample code writen in C#:

http://www.codeproject.com/csharp/csdoesshell3.asp?print=true

I hope that helps you.

Best regards,

Lion Shi [MSFT]
MCSE, MCSD
Microsoft Support Engineer
Get Secure! ¨C www.microsoft.com/security

This posting is provided "AS IS" with no warranties, and confers no rights.
You assume all risk for your use. 2003 Microsoft Corporation. All rights
reserved.
--------------------
| From: "James Jeff" <[email protected]>
| References: <#[email protected]>
<S#[email protected]>
| Subject: Re: Docking Window on Screen
| Date: Wed, 30 Jul 2003 23:15:16 +0200
| Lines: 93
| X-Priority: 3
| X-MSMail-Priority: Normal
| X-Newsreader: Microsoft Outlook Express 6.00.3790.0
| X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| Message-ID: <uZMRt#[email protected]>
| Newsgroups: microsoft.public.dotnet.framework.windowsforms
| NNTP-Posting-Host: chello213047058079.23.11.vie.surfer.at 213.47.58.79
| Path: cpmsftngxa06.phx.gbl!TK2MSFTNGP08.phx.gbl!tk2msftngp13.phx.gbl
| Xref: cpmsftngxa06.phx.gbl
microsoft.public.dotnet.framework.windowsforms:49294
| X-Tomcat-NG: microsoft.public.dotnet.framework.windowsforms
|
| Hi Lion,
|
| Thank you for your help. I thought of that way too, but it does not solve
my
| issue completely.
|
| When moving a normally docking window to the edge of the screen, not only
| does the window get docked and adjusted, but the remaining
Screen.Workspace
| is corrected, hence the other running programs are adjusted in size as
| well...
|
| Any idea or help?
|
| Best regards,
| James
|
| | > Hello James,
| >
| > The Form class provided by .NET Framework doesn't support the docking
| > feature. Hence, we need to implement it by ourself. Basically, we should
| do
| > the follwoing things:
| >
| > 1. Handle the Move event or OnMove method
| > 2. Just the distance between the Form's bound and screen edges
| > 3. Adjust the Form's position if it is very close the screen edges
| >
| > I hope this helps you.
| >
| > Best regards,
| >
| > Lion Shi [MSFT]
| > MCSE, MCSD
| > Microsoft Support Engineer
| > Get Secure! www.microsoft.com/security
| >
| > This posting is provided "AS IS" with no warranties, and confers no
| rights.
| > You assume all risk for your use. 2003 Microsoft Corporation. All
rights
| > reserved.
| > --------------------
| > | From: "James Jeff" <[email protected]>
| > | Subject: Docking Window on Screen
| > | Date: Mon, 28 Jul 2003 15:07:43 +0200
| > | Lines: 26
| > | X-Priority: 3
| > | X-MSMail-Priority: Normal
| > | X-Newsreader: Microsoft Outlook Express 6.00.3790.0
| > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| > | Message-ID: <#[email protected]>
| > | Newsgroups: microsoft.public.dotnet.framework.windowsforms
| > | NNTP-Posting-Host: 213.129.239.136
| > | Path: cpmsftngxa06.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP11.phx.gbl
| > | Xref: cpmsftngxa06.phx.gbl
| > microsoft.public.dotnet.framework.windowsforms:49107
| > | X-Tomcat-NG: microsoft.public.dotnet.framework.windowsforms
| > |
| > | background:
| > | I am using C# .NET Framework 1.1, trying to immitate the docking
| behaviour
| > | of Programs like ICQ.
| > |
| > | issue:
| > | I do not want to dock Controls within my Program, I want to give my
user
| > the
| > | ability, to dock my Program itself to any part of the screen (like ICQ
| or
| > | the Windows TaskBar).
| > |
| > | problem:
| > | I kept on searching the net for information regarding my issue, but
| didn't
| > | find anything of use. Every article I found talking about dotnet and
| > | docking, was talking about how to dock controls within my Container,
but
| > no
| > | article mentioned how to dock the windowsform itself to any part of
the
| > | screen.
| > |
| > | question:
| > | Do you have any idea, what I could do?
| > |
| > | Any help is appreciated,
| > | thx,
| > | James Jeff
| > |
| > |
| > |
| > |
| > |
| >
|
|
|
 
Hell James,

Waiting for your good news :)

Best regards,

Lion Shi [MSFT]
MCSE, MCSD
Microsoft Support Engineer
Get Secure! www.microsoft.com/security

This posting is provided "AS IS" with no warranties, and confers no rights.
You assume all risk for your use. 2003 Microsoft Corporation. All rights
reserved.
--------------------
| From: "James Jeff" <[email protected]>
| References: <#[email protected]>
<S#[email protected]>
<uZMRt#[email protected]>
<[email protected]>
| Subject: Re: Docking Window on Screen
| Date: Thu, 31 Jul 2003 22:11:12 +0200
| Lines: 164
| X-Priority: 3
| X-MSMail-Priority: Normal
| X-Newsreader: Microsoft Outlook Express 6.00.3790.0
| X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| Message-ID: <#[email protected]>
| Newsgroups: microsoft.public.dotnet.framework.windowsforms
| NNTP-Posting-Host: chello213047058079.23.11.vie.surfer.at 213.47.58.79
| Path: cpmsftngxa06.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP09.phx.gbl
| Xref: cpmsftngxa06.phx.gbl
microsoft.public.dotnet.framework.windowsforms:49363
| X-Tomcat-NG: microsoft.public.dotnet.framework.windowsforms
|
| Thank you very much for your help, I think this is exactly what I was
| looking for!
| Going to implement it in the next few days, and let's see wether it solves
| my problem completely... :-)
|
| best regards,
| James
|
| | > Hello James,
| >
| > Then you can register the form as an AppBar (application desktop
toolbar),
| > which is similar to the Microsoft Windows taskbar. You may get the
| detailed
| > info about it from:
| >
| >
|
http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/programmersgu
| > ide/shell_int/shell_int_programming/appbars.asp
| >
| > Also, I have found a sample code writen in C#:
| >
| > http://www.codeproject.com/csharp/csdoesshell3.asp?print=true
| >
| > I hope that helps you.
| >
| > Best regards,
| >
| > Lion Shi [MSFT]
| > MCSE, MCSD
| > Microsoft Support Engineer
| > Get Secure! ¨C www.microsoft.com/security
| >
| > This posting is provided "AS IS" with no warranties, and confers no
| rights.
| > You assume all risk for your use. 2003 Microsoft Corporation. All
rights
| > reserved.
| > --------------------
| > | From: "James Jeff" <[email protected]>
| > | References: <#[email protected]>
| > <S#[email protected]>
| > | Subject: Re: Docking Window on Screen
| > | Date: Wed, 30 Jul 2003 23:15:16 +0200
| > | Lines: 93
| > | X-Priority: 3
| > | X-MSMail-Priority: Normal
| > | X-Newsreader: Microsoft Outlook Express 6.00.3790.0
| > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| > | Message-ID: <uZMRt#[email protected]>
| > | Newsgroups: microsoft.public.dotnet.framework.windowsforms
| > | NNTP-Posting-Host: chello213047058079.23.11.vie.surfer.at 213.47.58.79
| > | Path: cpmsftngxa06.phx.gbl!TK2MSFTNGP08.phx.gbl!tk2msftngp13.phx.gbl
| > | Xref: cpmsftngxa06.phx.gbl
| > microsoft.public.dotnet.framework.windowsforms:49294
| > | X-Tomcat-NG: microsoft.public.dotnet.framework.windowsforms
| > |
| > | Hi Lion,
| > |
| > | Thank you for your help. I thought of that way too, but it does not
| solve
| > my
| > | issue completely.
| > |
| > | When moving a normally docking window to the edge of the screen, not
| only
| > | does the window get docked and adjusted, but the remaining
| > Screen.Workspace
| > | is corrected, hence the other running programs are adjusted in size as
| > | well...
| > |
| > | Any idea or help?
| > |
| > | Best regards,
| > | James
| > |
| > | | > | > Hello James,
| > | >
| > | > The Form class provided by .NET Framework doesn't support the
docking
| > | > feature. Hence, we need to implement it by ourself. Basically, we
| should
| > | do
| > | > the follwoing things:
| > | >
| > | > 1. Handle the Move event or OnMove method
| > | > 2. Just the distance between the Form's bound and screen edges
| > | > 3. Adjust the Form's position if it is very close the screen edges
| > | >
| > | > I hope this helps you.
| > | >
| > | > Best regards,
| > | >
| > | > Lion Shi [MSFT]
| > | > MCSE, MCSD
| > | > Microsoft Support Engineer
| > | > Get Secure! www.microsoft.com/security
| > | >
| > | > This posting is provided "AS IS" with no warranties, and confers no
| > | rights.
| > | > You assume all risk for your use. 2003 Microsoft Corporation. All
| > rights
| > | > reserved.
| > | > --------------------
| > | > | From: "James Jeff" <[email protected]>
| > | > | Subject: Docking Window on Screen
| > | > | Date: Mon, 28 Jul 2003 15:07:43 +0200
| > | > | Lines: 26
| > | > | X-Priority: 3
| > | > | X-MSMail-Priority: Normal
| > | > | X-Newsreader: Microsoft Outlook Express 6.00.3790.0
| > | > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| > | > | Message-ID: <#[email protected]>
| > | > | Newsgroups: microsoft.public.dotnet.framework.windowsforms
| > | > | NNTP-Posting-Host: 213.129.239.136
| > | > | Path:
cpmsftngxa06.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP11.phx.gbl
| > | > | Xref: cpmsftngxa06.phx.gbl
| > | > microsoft.public.dotnet.framework.windowsforms:49107
| > | > | X-Tomcat-NG: microsoft.public.dotnet.framework.windowsforms
| > | > |
| > | > | background:
| > | > | I am using C# .NET Framework 1.1, trying to immitate the docking
| > | behaviour
| > | > | of Programs like ICQ.
| > | > |
| > | > | issue:
| > | > | I do not want to dock Controls within my Program, I want to give
my
| > user
| > | > the
| > | > | ability, to dock my Program itself to any part of the screen (like
| ICQ
| > | or
| > | > | the Windows TaskBar).
| > | > |
| > | > | problem:
| > | > | I kept on searching the net for information regarding my issue,
but
| > | didn't
| > | > | find anything of use. Every article I found talking about dotnet
and
| > | > | docking, was talking about how to dock controls within my
Container,
| > but
| > | > no
| > | > | article mentioned how to dock the windowsform itself to any part
of
| > the
| > | > | screen.
| > | > |
| > | > | question:
| > | > | Do you have any idea, what I could do?
| > | > |
| > | > | Any help is appreciated,
| > | > | thx,
| > | > | James Jeff
| > | > |
| > | > |
| > | > |
| > | > |
| > | > |
| > | >
| > |
| > |
| > |
| >
|
|
|
 
Hello James,

Gald to hear it help :)

Best regards,

Lion Shi [MSFT]
MCSE, MCSD
Microsoft Support Engineer
Get Secure! ¨C www.microsoft.com/security

This posting is provided "AS IS" with no warranties, and confers no rights.
You assume all risk for your use. 2003 Microsoft Corporation. All rights
reserved.
--------------------
| From: "James Jeff" <[email protected]>
| References: <#[email protected]>
<S#[email protected]>
<uZMRt#[email protected]>
<[email protected]>
<#[email protected]>
<[email protected]>
| Subject: Re: Docking Window on Screen
| Date: Fri, 1 Aug 2003 11:10:52 +0200
| Lines: 227
| X-Priority: 3
| X-MSMail-Priority: Normal
| X-Newsreader: Microsoft Outlook Express 6.00.3790.0
| X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| Message-ID: <[email protected]>
| Newsgroups: microsoft.public.dotnet.framework.windowsforms
| NNTP-Posting-Host: 213.129.239.136
| Path: cpmsftngxa06.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP09.phx.gbl
| Xref: cpmsftngxa06.phx.gbl
microsoft.public.dotnet.framework.windowsforms:49386
| X-Tomcat-NG: microsoft.public.dotnet.framework.windowsforms
|
| Works perfekt.
| thx for your help, I appreciate!
|
| James
|
| | > Hell James,
| >
| > Waiting for your good news :)
| >
| > Best regards,
| >
| > Lion Shi [MSFT]
| > MCSE, MCSD
| > Microsoft Support Engineer
| > Get Secure! www.microsoft.com/security
| >
| > This posting is provided "AS IS" with no warranties, and confers no
| rights.
| > You assume all risk for your use. 2003 Microsoft Corporation. All
rights
| > reserved.
| > --------------------
| > | From: "James Jeff" <[email protected]>
| > | References: <#[email protected]>
| > <S#[email protected]>
| > <uZMRt#[email protected]>
| > <[email protected]>
| > | Subject: Re: Docking Window on Screen
| > | Date: Thu, 31 Jul 2003 22:11:12 +0200
| > | Lines: 164
| > | X-Priority: 3
| > | X-MSMail-Priority: Normal
| > | X-Newsreader: Microsoft Outlook Express 6.00.3790.0
| > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| > | Message-ID: <#[email protected]>
| > | Newsgroups: microsoft.public.dotnet.framework.windowsforms
| > | NNTP-Posting-Host: chello213047058079.23.11.vie.surfer.at 213.47.58.79
| > | Path: cpmsftngxa06.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP09.phx.gbl
| > | Xref: cpmsftngxa06.phx.gbl
| > microsoft.public.dotnet.framework.windowsforms:49363
| > | X-Tomcat-NG: microsoft.public.dotnet.framework.windowsforms
| > |
| > | Thank you very much for your help, I think this is exactly what I was
| > | looking for!
| > | Going to implement it in the next few days, and let's see wether it
| solves
| > | my problem completely... :-)
| > |
| > | best regards,
| > | James
| > |
| > | | > | > Hello James,
| > | >
| > | > Then you can register the form as an AppBar (application desktop
| > toolbar),
| > | > which is similar to the Microsoft Windows taskbar. You may get the
| > | detailed
| > | > info about it from:
| > | >
| > | >
| > |
| >
|
http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/programmersgu
| > | > ide/shell_int/shell_int_programming/appbars.asp
| > | >
| > | > Also, I have found a sample code writen in C#:
| > | >
| > | > http://www.codeproject.com/csharp/csdoesshell3.asp?print=true
| > | >
| > | > I hope that helps you.
| > | >
| > | > Best regards,
| > | >
| > | > Lion Shi [MSFT]
| > | > MCSE, MCSD
| > | > Microsoft Support Engineer
| > | > Get Secure! ¨C www.microsoft.com/security
| > | >
| > | > This posting is provided "AS IS" with no warranties, and confers no
| > | rights.
| > | > You assume all risk for your use. 2003 Microsoft Corporation. All
| > rights
| > | > reserved.
| > | > --------------------
| > | > | From: "James Jeff" <[email protected]>
| > | > | References: <#[email protected]>
| > | > <S#[email protected]>
| > | > | Subject: Re: Docking Window on Screen
| > | > | Date: Wed, 30 Jul 2003 23:15:16 +0200
| > | > | Lines: 93
| > | > | X-Priority: 3
| > | > | X-MSMail-Priority: Normal
| > | > | X-Newsreader: Microsoft Outlook Express 6.00.3790.0
| > | > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| > | > | Message-ID: <uZMRt#[email protected]>
| > | > | Newsgroups: microsoft.public.dotnet.framework.windowsforms
| > | > | NNTP-Posting-Host: chello213047058079.23.11.vie.surfer.at
| 213.47.58.79
| > | > | Path:
cpmsftngxa06.phx.gbl!TK2MSFTNGP08.phx.gbl!tk2msftngp13.phx.gbl
| > | > | Xref: cpmsftngxa06.phx.gbl
| > | > microsoft.public.dotnet.framework.windowsforms:49294
| > | > | X-Tomcat-NG: microsoft.public.dotnet.framework.windowsforms
| > | > |
| > | > | Hi Lion,
| > | > |
| > | > | Thank you for your help. I thought of that way too, but it does
not
| > | solve
| > | > my
| > | > | issue completely.
| > | > |
| > | > | When moving a normally docking window to the edge of the screen,
not
| > | only
| > | > | does the window get docked and adjusted, but the remaining
| > | > Screen.Workspace
| > | > | is corrected, hence the other running programs are adjusted in
size
| as
| > | > | well...
| > | > |
| > | > | Any idea or help?
| > | > |
| > | > | Best regards,
| > | > | James
| > | > |
| > | > | | > | > | > Hello James,
| > | > | >
| > | > | > The Form class provided by .NET Framework doesn't support the
| > docking
| > | > | > feature. Hence, we need to implement it by ourself. Basically,
we
| > | should
| > | > | do
| > | > | > the follwoing things:
| > | > | >
| > | > | > 1. Handle the Move event or OnMove method
| > | > | > 2. Just the distance between the Form's bound and screen edges
| > | > | > 3. Adjust the Form's position if it is very close the screen
edges
| > | > | >
| > | > | > I hope this helps you.
| > | > | >
| > | > | > Best regards,
| > | > | >
| > | > | > Lion Shi [MSFT]
| > | > | > MCSE, MCSD
| > | > | > Microsoft Support Engineer
| > | > | > Get Secure! www.microsoft.com/security
| > | > | >
| > | > | > This posting is provided "AS IS" with no warranties, and confers
| no
| > | > | rights.
| > | > | > You assume all risk for your use. 2003 Microsoft Corporation.
All
| > | > rights
| > | > | > reserved.
| > | > | > --------------------
| > | > | > | From: "James Jeff" <[email protected]>
| > | > | > | Subject: Docking Window on Screen
| > | > | > | Date: Mon, 28 Jul 2003 15:07:43 +0200
| > | > | > | Lines: 26
| > | > | > | X-Priority: 3
| > | > | > | X-MSMail-Priority: Normal
| > | > | > | X-Newsreader: Microsoft Outlook Express 6.00.3790.0
| > | > | > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| > | > | > | Message-ID: <#[email protected]>
| > | > | > | Newsgroups: microsoft.public.dotnet.framework.windowsforms
| > | > | > | NNTP-Posting-Host: 213.129.239.136
| > | > | > | Path:
| > cpmsftngxa06.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP11.phx.gbl
| > | > | > | Xref: cpmsftngxa06.phx.gbl
| > | > | > microsoft.public.dotnet.framework.windowsforms:49107
| > | > | > | X-Tomcat-NG: microsoft.public.dotnet.framework.windowsforms
| > | > | > |
| > | > | > | background:
| > | > | > | I am using C# .NET Framework 1.1, trying to immitate the
docking
| > | > | behaviour
| > | > | > | of Programs like ICQ.
| > | > | > |
| > | > | > | issue:
| > | > | > | I do not want to dock Controls within my Program, I want to
give
| > my
| > | > user
| > | > | > the
| > | > | > | ability, to dock my Program itself to any part of the screen
| (like
| > | ICQ
| > | > | or
| > | > | > | the Windows TaskBar).
| > | > | > |
| > | > | > | problem:
| > | > | > | I kept on searching the net for information regarding my
issue,
| > but
| > | > | didn't
| > | > | > | find anything of use. Every article I found talking about
dotnet
| > and
| > | > | > | docking, was talking about how to dock controls within my
| > Container,
| > | > but
| > | > | > no
| > | > | > | article mentioned how to dock the windowsform itself to any
part
| > of
| > | > the
| > | > | > | screen.
| > | > | > |
| > | > | > | question:
| > | > | > | Do you have any idea, what I could do?
| > | > | > |
| > | > | > | Any help is appreciated,
| > | > | > | thx,
| > | > | > | James Jeff
| > | > | > |
| > | > | > |
| > | > | > |
| > | > | > |
| > | > | > |
| > | > | >
| > | > |
| > | > |
| > | > |
| > | >
| > |
| > |
| > |
| >
|
|
|
 
Back
Top