Resize A Form , Its Controls According To User's Screen Settings And Physical Monitor Size?
Nov 19, 2010
I am creating an application for a company and this CD will be distributed to hundreds of people. Many users will have different computer screen size and different screen settings such as their resolution set to 1024 x 728 and their monitor size 17" inches.
I noticed when I loaded the application on a different computer with different settings the application was to big for the screen and did not work. I notice that lot of other programs from microsoft resize their controls and text but never knew how they did it. How can I resize the form and control according to the user's setting.
I designed a form which contains about 50 objects all kinds including tableadapters,buttions,grids, tabs. What is the best way to optimize the loading with less time consuming. I cannot split objects in on different form as all the objects has to appear on screen as a requirement.
But my primary question here is, i designed this form with all these objects on a 15" monitor which fitted 100% on the screen. Now i am using 17" monitor when i open this form on run time, all the objects are appearing as designed but theres a 30% form area which is left blank. How can i make the form objects resize automatically on run time itself to fit on different size of monitor with no area left blank.
I have been searching for a solution to this but I can't find one. I have played with the anchor and dock properties but they are not doing what I want, so here goes... I would like to place and size all of my controls on my form and then when the form is re-sized during run time (different resolutions, full screen/windowed, etc), have everything just scale up or down accordingly. Anchoring the controls to all four sides of my form re-sizes the control properly but it doesn't move it's location in sync with the other control's size next to it, they begin to overlap each other. Am I going to have to code my own scaling code for each control in my program?
I'm trying to figure out how to resize a form on load to fit to the user's screen. Many of my users are on laptops, or split screens between laptop and monitor..I remember in VB6, it was something like form.height = screen.height (or something of the sort)... but I can't find this functionality in VB.NET 2008. I'm also trying to wrap everything (multiple screens/forms) into one app, so I wanted to know if anyone was aware of any tutorials on form parent/child relationships... I don't want to keep opening and hiding forms individually without having them packaged in one work area....
I have to know how to set system resolution of all tools in forms, which i using for my application.
I attached two screen shots. When i work my application with my system, form window and their tools placed correctly with my monitor fit(15 inch monitor).
But when i work my application in 21 inch monitor, all tools re arranged and
not in format. post me the code to set resolution as per system??
If I have form say sized 1300 x 800, I would like to proportionally size the form to the computers screen size. I can get it to size to the screen size, but it is not proportional
I developed a form application on my computer, but when it was used in another computer with different screen size, i was told the form didn't fit. Do I have to adjust the form size or any other ways to let the form compatible on different screen size? (could be different screen size or wide screen)
I have some custom user controls in my .net winforms program that do not display correctly when the user has selected larger text size. This setting:
My controls look like this: Instead of like this:
The bill to area and ship to area are both custom controls. I don't know if this is contributing to the problem but I do have code in each to scale the phone/fax areas to stretch nicely, like this code from the bill to control,
Private Sub panFaxPhone_Resize(sender As Object, e As System.EventArgs) Handles panFaxPhone.Resize panFax.Width = (panFaxPhone.Width / 2) - 1 panPhone.Width = (panFaxPhone.Width / 2) - 1 panFax.Left = panFaxPhone.Width - panFax.Width End Sub
How can I get my controls to size correctly while still respecting the users choice for larger text (I don't want to just set the AutoScaleMode to None)? After playing with this for a long time it seems to be a problem with anchors in the child controls. See this below image, the inner black box is the control with its border turned on, the text boxes (like name) are anchored left and right and should stretch to fill the control, but don't.
I have an application in VB. In a single form are lots of labels with atleast 3 different sizes. What I want to do is, when I resize the form or maximize it, all of the labels and pictureboxes int the form are also going to be resized.
I have a program that has a TabControl on it. There is code to resize all the controls on the form when the window is resized, regardless of what tab is selected in the TabControl. My issue is that the form will only resize the controls on the selected tab. So if the window is maximized, for example, it will resize the controls on the selected tab, but if the user changes tabs, the new tab will still have the original, non-maximized sizes on it. This works the same with un-maximizing the form, the controls on other tabs will remain the size they are supposed to be when the form is maximized. Here's some example pseudo-code to give you an idea. Assume button1 is on tab1 and button2 is on tab 2.
sub form_resize() button1.width = x button2.width = x2 button1.height = y button2.height = y2 end sub
So the code is supposed to resize all controls regardless of the tab. But if tab 1 is selected it will visually resize button1 but it wont resize button2. To counter this, I simply made the form resize by 1 pixel and then move back to the original size when the user changes tabs. BUT this wont work for maximizing/un-maximizing the form. I tried telling it to detect window state on tab select so if the form is maximized, it will un-maximize it, perform the resize, and re-maximize the form but this doesnt seem to work.
automate this somehow so that regardless of selected tab or window state, all controls will be resized to the proper, current form size?
find a way of resizing my form + controls. I did manage to resize the form and all controls (only standard controls in visual studio) i could get the dotNetBar material to resize?
I'm sure this is a common problem, but I haven't been able to find it.
I have a website and I want the user to be able to print a rectangle on their printer that is 3.5 inches x 2 inches. Exactly (within reason).
EDIT: To clarify - I'm looking to print a bunch of multicolored Text within a rectangle that needs to be a specific physical size. I also need to print specific shapes around some of the letters.
I'd looked into some of the .NET Printing stuff and found examples of measuring/drawing strings and shapes; but I didn't see anything that would let me specify a specific size.
I was an idiot and designed my VB app on a 17inch monitor in a 1280X1024 resolution completely forgetting about what it would like on another machine. This might be a long shot, but is there an easy way to get the resolution of the users monitor and re-size the controls and form accordingly?
Is it possible to resize my controls on my form when I run it? The problem I have is that I have created a windows application which has a maximize state on all forms but on some machines my controls go missing (mostly on widescreen laptops). Ideally some way of resizing my controls would probably be best? So is that possible?
I want a set of child forms to keep their relative sizes and locations to their parent form when parent form is resized. So if one child form is opened and covers the lower right quadrant.. it will remain a quadrant for whatever resize is done on parent form.
Does anyone know how to make the controls on an MDI Child form resize along with the form itself? I inherited a project from another developer and I was asked specifically to make the form resize. With advice I received on this forum I now have the form resizing as expected. It will minimize, restore and maximize as well as resize with the mouse pointer.
The problem is that when I increase the size of the form all I get is more blank space on the screen. The controls to do change at all. Although I thin this is normal behavior for a Windows form my bosses all seem to think that the controls resize on every other widows for they see. I wondered if anyone had successfully accomplished this. I was already advised to write a FormResize handling subroutine and this unfortunately did not work.
Where is the best place to resize a control on a form when a form is resized?....I'm currently using the Form1_SizeChanged event and seems to work ok. Also is there any need to check in the forms resize event if the form is in a minimized state before resizing controls?.,.. in VB6 if you try to resize a control when the form is minimized you get an error, but I don't see that happening in BV10 Form1_SizeChanged event, does VB10 automatically ignore resizing controls when a form is minimized or something?