Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

Resolution independent Resizing of controls in a .net winform

Posted on 2006-11-23
4
Medium Priority
?
1,897 Views
Last Modified: 2012-05-05
Hi Experts
        In my winform application i am using infragistics control for UI design.I want to implement resize functionality in my winforms. ie. resolution independent resizing of all the controls inside the form. i dont want to use any third party for this. Could any one please give me some code sample for this.

Note:
 Docking and Anchoring is not a solution for this
0
Comment
Question by:sabeesh
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
4 Comments
 
LVL 15

Expert Comment

by:ozymandias
ID: 18006371
Bind a delegate to the resize event of your form and resize and relayout your controls when this event is fired.
The actual code to do this will depend on what controls you have on your form and how you want them laid out.
0
 
LVL 8

Author Comment

by:sabeesh
ID: 18017155
Got the soluton!






Hashtable hash = new Hashtable();

            //## save default location of buttons into a
            //## hash table
            public void InitDefLoc()
            {
                  foreach(Control cl in Controls)
                        {
                        if ((cl is Button) ^ (cl is TextBox))
                        {
            DefLocation dl = new DefLocation();
            dl.setDefW(cl.Width);
            dl.setDefH(cl.Height);
            dl.setDefCX(cl.Location.X);
            dl.setDefCY(cl.Location.Y);
            hash.Add(cl,dl);
                        }
                  }
            }


public Form1()
            {

                  //
                  // Required for Windows Form Designer support
                  //
                  InitializeComponent();
                  InitDefLoc();
            
                  //
                  // TODO: Add any constructor code after InitializeComponent call
                  //
            }




private void Form1_Resize(object sender, System.EventArgs e)
            {
                  foreach (Control ctl in Controls)
                  {
                        if ((ctl is Button)^(ctl is TextBox))
                        {
                              int widthRatio = ClientRectangle.Width * 100 / startW;
                              int heightRatio = ClientRectangle.Height * 100 / startH;                        
                              DefLocation dl2 = (DefLocation)hash[ctl];
                              Point pnt = new Point((dl2.getDefCX() * widthRatio / 100),(dl2.getDefCY() * heightRatio / 100));
                              ctl.Width = dl2.getDefW() * widthRatio / 100;
                              ctl.Height = dl2.getDefH() * heightRatio / 100;
                              ctl.Location = pnt;
                        }
                  
                  }
            }


public class DefLocation
      {
            int defW,defH,defCX,defCY;
      
            public void setDefW(int dw){
                  defW = dw;
            }
            public void setDefH(int dh){
                  defH = dh;
            }
            public void setDefCX(int dcx){
                  defCX = dcx;
            }
            public void setDefCY(int dcy){
                  defCY = dcy;
            }

            public int getDefW(){return defW;}
            public int getDefH(){return defH;}
            public int getDefCX(){return defCX;}
            public int getDefCY(){return defCY;}
      }
0
 
LVL 1

Accepted Solution

by:
Computer101 earned 0 total points
ID: 18191951
PAQed with points refunded (500)

Computer101
EE Admin
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article is for Object-Oriented Programming (OOP) beginners. An Interface contains declarations of events, indexers, methods and/or properties. Any class which implements the Interface should provide the concrete implementation for each Inter…
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.
Sometimes it takes a new vantage point, apart from our everyday security practices, to truly see our Active Directory (AD) vulnerabilities. We get used to implementing the same techniques and checking the same areas for a breach. This pattern can re…
In a question here at Experts Exchange (https://www.experts-exchange.com/questions/29062564/Adobe-acrobat-reader-DC.html), a member asked how to create a signature in Adobe Acrobat Reader DC (the free Reader product, not the paid, full Acrobat produ…
Suggested Courses

610 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