Click here to Skip to main content
15,895,799 members
Home / Discussions / C#
   

C#

 
AnswerRe: GMail CAPTCHA transform Pin
Steve Maier7-Mar-06 9:19
professionalSteve Maier7-Mar-06 9:19 
GeneralRe: GMail CAPTCHA transform Pin
Joe Programm3r7-Mar-06 9:39
Joe Programm3r7-Mar-06 9:39 
GeneralRe: GMail CAPTCHA transform Pin
Steve Maier7-Mar-06 10:16
professionalSteve Maier7-Mar-06 10:16 
AnswerRe: GMail CAPTCHA transform Pin
leppie7-Mar-06 11:38
leppie7-Mar-06 11:38 
QuestionInserting my C# component class in a MFC Window… Pin
anderslundsgard7-Mar-06 8:16
anderslundsgard7-Mar-06 8:16 
AnswerRe: Inserting my C# component class in a MFC Window… Pin
Judah Gabriel Himango7-Mar-06 8:47
sponsorJudah Gabriel Himango7-Mar-06 8:47 
QuestionClientRectangle in VS 2005 Pin
MBursill7-Mar-06 8:05
MBursill7-Mar-06 8:05 
AnswerRe: ClientRectangle in VS 2005 Pin
MBursill7-Mar-06 13:23
MBursill7-Mar-06 13:23 
After doing some research (and using Reflector to poke around in the ClientRectangle property) I can see that there is no simple way to do what I want. I came up with a solution:

/// Return the client area of the form after subtracting docked controls
public new Rectangle ClientRectangle
{
    get
    {
        Rectangle _clientRectangle = base.ClientRectangle;

        foreach (Control currentControl in Controls)
        {
            switch (currentControl.Dock)
            {
                case DockStyle.Top:
                    _clientRectangle.Height -= currentControl.Height;
                    _clientRectangle.Offset(0, currentControl.Height);
                    break;

                case DockStyle.Bottom:
                    _clientRectangle.Height -= currentControl.Height;
                    break;

                case DockStyle.Left:
                    _clientRectangle.Width -= currentControl.Width;
                    _clientRectangle.Offset(currentControl.Width, 0);
                    break;

                case DockStyle.Right:
                    _clientRectangle.Width -= currentControl.Width;
                    break;
            }
        }

        return _clientRectangle;
    }
}


However, iterating over every control in the forms Contols collection every time you want to grab ClientRectangle is slow. Anyone have any tips on optimizing this?

-Mike.
AnswerRe: ClientRectangle in VS 2005 Pin
Insincere Dave7-Mar-06 13:39
Insincere Dave7-Mar-06 13:39 
QuestionIssue using a Treeview to control a listview Pin
digicd17-Mar-06 7:44
digicd17-Mar-06 7:44 
QuestionKeyPress event Pin
JoeSox7-Mar-06 7:43
JoeSox7-Mar-06 7:43 
AnswerRe: KeyPress event Pin
Judah Gabriel Himango7-Mar-06 10:16
sponsorJudah Gabriel Himango7-Mar-06 10:16 
GeneralRe: KeyPress event Pin
JoeSox7-Mar-06 12:14
JoeSox7-Mar-06 12:14 
GeneralRe: KeyPress event Pin
Judah Gabriel Himango8-Mar-06 3:50
sponsorJudah Gabriel Himango8-Mar-06 3:50 
GeneralRe: KeyPress event Pin
JoeSox8-Mar-06 7:27
JoeSox8-Mar-06 7:27 
GeneralRe: KeyPress event Pin
Judah Gabriel Himango8-Mar-06 7:34
sponsorJudah Gabriel Himango8-Mar-06 7:34 
QuestionCSharp/VBCodeProvider.Parse Pin
Ed.Poore7-Mar-06 6:54
Ed.Poore7-Mar-06 6:54 
QuestionMonitor LAN activity Pin
Stefano Alini7-Mar-06 6:46
Stefano Alini7-Mar-06 6:46 
AnswerRe: Monitor LAN activity Pin
Judah Gabriel Himango7-Mar-06 7:58
sponsorJudah Gabriel Himango7-Mar-06 7:58 
QuestionRead large text files with c# Pin
MrWeiland7-Mar-06 6:13
MrWeiland7-Mar-06 6:13 
AnswerRe: Read large text files with c# Pin
Werdna7-Mar-06 6:49
Werdna7-Mar-06 6:49 
GeneralRe: Read large text files with c# Pin
MrWeiland7-Mar-06 21:41
MrWeiland7-Mar-06 21:41 
AnswerRe: Read large text files with c# Pin
Guffa7-Mar-06 6:54
Guffa7-Mar-06 6:54 
GeneralRe: Read large text files with c# Pin
MrWeiland7-Mar-06 21:57
MrWeiland7-Mar-06 21:57 
AnswerRe: Read large text files with c# Pin
Guffa7-Mar-06 23:16
Guffa7-Mar-06 23:16 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.