Re: Tips on laying out forms using Visual Studio 2008

  • From: "Ricks Place" <OFBGMail@xxxxxxxxx>
  • To: <programmingblind@xxxxxxxxxxxxx>
  • Date: Thu, 9 Oct 2008 08:52:12 -0400

Hi Guys:
This subject is not well documented anyplace I have seen for blind folks. It can be done but would require more time than I have. If there are a couple of other experienced blind programmers willing to help do the research concerning the available tools for layout, test one of them with all relevant properties under either jaws or windoweyes I would be glad to coordinate and put something together as a comprehensive tutorial. I could also do some of the testing for Windoweyes implementations of one or more of the Layout Tools available.
I can think of several topics off the top of my head:
General Overview of a Form and The x,y coordinate system:
Manual Positioning of Controls:
Accessibility Notes for JAWS:
Accessibility Notes for Windoweyes:
TableLayoutPanelControl:
Accessibility Notes for JAWS:
Accessibility Notes for Windoweyes:
Flow Control Layout:
Accessibility Notes for JAWS:
Accessibility Notes for Windoweyes:
Can you think of other layout methods or third party software that you have experience with or would want to try out and document?
Rick USA
----- Original Message ----- From: "Octavian Rasnita" <orasnita@xxxxxxxxx>
To: <programmingblind@xxxxxxxxxxxxx>
Sent: Thursday, October 09, 2008 6:39 AM
Subject: Re: Tips on laying out forms using Visual Studio 2008


I think it could be also helpful if there would be a tutorial that teaches how it should look a good enough form, that it should tell how many pixels to leave between form fields horizontally or vertically, between fields and forms margins, between fields and labels, how to align the text in the labels, and how to do this in the recommended way using layout managers and sizers, using different GUI libraries, and how to actually do it using Jaws.

Otherwise... we wouldn't be able to design forms without sighted assistance that help us to correct errors, and change the design to also look nice for the sighted.

Octavian

----- Original Message ----- From: "Ricks Place" <OFBGMail@xxxxxxxxx>
To: <programmingblind@xxxxxxxxxxxxx>
Sent: Thursday, October 09, 2008 12:47 PM
Subject: Re: Tips on laying out forms using Visual Studio 2008


Hi Inthane:
First, if a blind person who wants to do some programming has not had math
classes where they had to learn what a rectangle and the x, y coordinate
plane are they will have a very dificult time programming in general and
laying out a form would be almost impossible. If you are going to try and
teach a blind person with no math skills what a form is from the ground up
it will require a tactile example as you have noted. then they have to learn
what a table and what x, y coordinates are and how they relate to a
rectangle. Then, as you have done, teach them how little rectangles can fit on a big rectangle and how the position of each little rectangle relates to
the big rectangle it is inside in terms of the x, y plane. Also, they will
need to know how to calculate the start position and end position in terms
of the x, y plane and the start and end height in terms of the x, y plane so
they can calculate the relative positioning of controls around the plane
without overlapping them. I should think a Braille display and some type of
program could teach all this nicely if the user had a braille display and
someone wrote a tutorial for the braille display. Most beginners outside of
formal education would not have this though and it might be tough to code
up. Perhaps a piece of braille graph paper, if there is such a thing, with a
set of pre sized cardboard rectangles they could move to diferent x, y
positions then feel how many dots are left of a control and how many dots
from the top.  This is way over my head, I learned math when I still could
see,  but should be a part of any basic math classes taught to blind
students in grade school or however they do it.
Marvin is still playing with his TableLayoutPanel and anything we pick up I
will post. If there is a desire I will write up a tutorial on the subject
but will assume basic understanding of the x,y plane andbasic math skills
like addition, subtraction, multiplication and division as teaching that
would be beyond my time limits and skills without actually being physically
near the blind person to demonstrate tactile examples.
Rick USA
----- Original Message ----- From: "InthaneElf" <inthaneelf@xxxxxxxxxxxxxx>
To: <programmingblind@xxxxxxxxxxxxx>
Sent: Wednesday, October 08, 2008 9:37 PM
Subject: Re: Tips on laying out forms using Visual Studio 2008


alright, sounds good, I'd have to install a .net again to run the test so
if someone else who already has it installed can do it with jaws that
would be good, and I'll be monitoring this for additional input on this.

can you think of anything else that would do a good representation of the
items on a form like what I was talking of, I used the credit/ID card
because it is about the right size, and is the right shape for a list box,
and I know that cards made in other countries still can be put into a
machine here, , and most places have a coin around the size of a US penny,
but I don't know the name of all the different coins in multiple
countries, so am stuck with the US one, and have no clue what to use if
they don't know about a Braille dymo-tape strip, *sigh*, I'm thinking I
should produce some kits for folks to buy from me with proper sized card
board pieces in it so folks could feel the shape and size of the stuff.

take care,
inthane
proprietor, The Grab Bag,
for blind computer users and programmers
http://grabbag.alacorncomputer.com
Owner: Alacorn Computer Enterprises
"own the might and majesty of a Alacorn!"
www.alacorncomputer.com
Owner: Agemtree
"merchants in fine facetted and cabochon gemstones"
www.agemtree.com
operator: Fruit Basket Demo Sight, where you can find a similar project
done in several programming languages, along with its source code, so you
can decide what language is right for you
http://fruitbasketdemo.alacorncomputer.com

----- Original Message ----- From: "Ricks Place" <OFBGMail@xxxxxxxxx>
To: <programmingblind@xxxxxxxxxxxxx>
Sent: Wednesday, October 08, 2008 2:03 PM
Subject: Re: Tips on laying out forms using Visual Studio 2008


Hi Inthane:
There are some things I found at the implementation level but I was
waiting to hear back from Chris. For one thing, when defining the cells I
found that specifying the cell size as absolute and specifying a pixal
size read well with windoweyes where specifying it as a percent or
anything else did not read well all the time. When specified as a percent
one of the boxes, even though I attempted to make them large enough,
would not always read what I would type in. Sometimes it read a couple of letters then ping, continuing to hit the right cursor key would then read
a little more and ping again and so forth - not sure why exactly. It
might not happen with JAWS but hay, I use Windoweyes so the Absolute size
cells work well with properly sized controls in them and I'm a happy
camper.
If Chris posts again I will tell him how to position and size the
TableLayoutPanel and a couple of cells and controls like a label and
textbox so they read nicely.
Might have someone do a jaws test to see if we can use the cell percent
size allocation as well.
I do like using the TableLayoutPanel now that it works, much faster than
positioning by the numbers for every control.
Rick USA
----- Original Message ----- From: "InthaneElf" <inthaneelf@xxxxxxxxxxxxxx>
To: <programmingblind@xxxxxxxxxxxxx>
Sent: Wednesday, October 08, 2008 4:34 PM
Subject: Re: Tips on laying out forms using Visual Studio 2008


thank you Rick, I didn't have anything that gave such a great rundown on
this procedure

inthane
proprietor, The Grab Bag,
for blind computer users and programmers
http://grabbag.alacorncomputer.com
Owner: Alacorn Computer Enterprises
"own the might and majesty of a Alacorn!"
www.alacorncomputer.com
Owner: Agemtree
"merchants in fine facetted and cabochon gemstones"
www.agemtree.com
operator: Fruit Basket Demo Sight, where you can find a similar project
done in several programming languages, along with its source code, so
you can decide what language is right for you
http://fruitbasketdemo.alacorncomputer.com

----- Original Message ----- From: "Ricks Place" <OFBGMail@xxxxxxxxx>
To: <programmingblind@xxxxxxxxxxxxx>
Sent: Wednesday, October 08, 2008 2:08 AM
Subject: Re: Tips on laying out forms using Visual Studio 2008


Hi Chris:
There are several ways to layout a form. Let me give you the 5000 ffoot
view first. When you create a winforms project in vb.net or CSharp you
will see a few files in the project when you look at the Solution
Explorer window. One of them is usually called Form1. This, of course,
is a default form automatically supplied by the Visual Studio IDE. If
you right mouse click it you can bring up the Forms Designer. That is a
graphical window where you can drop controls on your form1. The You do
this by going to the View Menu Option and bringing up the Tool Box,
arrowing down to a control like a Label or TextBox and hitting enter on it. That control is then dropped on Form1. You do this for any controls
you want on the form. Now, the form1, any label or TextBox controls
have properties such as font type and font size, foreground  color,
background color size and position. You can modify many characteristics
of a form such as Form1 or controls you have dropped on the formin the
Properties Window for each item by either tabbing in the forms Designer
to a control or the form itself and then selecting Properties Window
from the View Menu. You can also right mouse click any control and
select the Properties option from a pull down menu to get there. In the
Properties Window you can manually set the size and location of the
form and any controls you dropped on it. This is the method I use. You
can also move controls around directly in the Forms Designer by
dragging them around. You can make them bigger, smaller as well. This
is something that you can do using JAWS, I use Windoweyes so do not
have that option available to me. In either case any changes you make
will be reflected on the Forms Designer and in the Properties Window
for the Form1 and for any controls you Drop on Form1. To layout a form
you think of the Form, Form1, as a big rectangle, a canvas where you
will arrange all your controls like labels and TextBoxes. You might
want a label just over top a TextBox so they read as one. If you have
the text property of a Label Control set to Enter Your Name and put a
TextBox just under it when you tab around the form and land on the
TextBox your screen reader would say something like TextBox, Enter Your
Name. You can also put the label to the left of the TextBox to achieve
the same outcome. As you asked, if you just drop controls on a form in
the Forms Designer you end up with controls overlapping each other
which is not good. You can the position of each control on the form by
setting it's location in (DistanceFromLeftOfForm,
DistanceFromTopOfForm) format in the Properties Window for that
control. This can get messy trying to calculate the size and position
for every control on a form so there are a couple of tools in the Tool
Box that make it a little easier. The TableLayoutPanel is a table on
which you can drop controls and it automatically puts them in columns
and rows so you do not have to worry about alligning the controls by
calculating positions for every control. If you want a Label Control
Just OverTop A TextBox you would just drop your Label and TextBox
controls on top of the TableLayoutPanel control you  first dropped on
the form. Then you can right mouse click, or tab to the label and
TextBox controls, bring up the Properties Window for each control and
set the cell coordinates. If you put the Label Control in Column 0 Row
0 and put the TextBox in Column 0 Row 1 the label will automatically be
sized and placed just over the TextBox when the form is displayed. If
you do label at column 0, Row 0 and TextBox at column 1, Row 0 the
label will be just left of the TextBox. Both will look good to a
sighted person and read well with a screen reader. I have not used the
Flow Control but that control will just put any controls you drop on it
to the right or left, above or below the last control you dropped on
the Flow Control. You decide how you want it to work by setting the
Flow Control's properties. So, You view a form as a big rectangle. You
drop controls on it and arrange them either using the Properties Window
for each control, by using a TableLayoutPanel to automatically layout
your form to some degree, or a Flow Panel which I have not used.
This is the 5000 foot view. Let me know where you want to start. Your
form name and a few controls you have on it and I will give some
specifics about Manual setting the location or using a TableLayoutPanel
if you want to go that root.
Rick USA
----- Original Message ----- From: "Chris Hallsworth" <christopherhallsworth71@xxxxxxxxxxxxxx>
To: <programmingblind@xxxxxxxxxxxxx>
Sent: Tuesday, October 07, 2008 4:16 PM
Subject: Tips on laying out forms using Visual Studio 2008


Hi all, I've just created my first programme in the C# language. It's
accessible using the keyboard, but I'm not happy with the visual
layout as no doubt the controls (a button and two text boxes), as well
as the main form, are on top of each other. Does anyone have any tips
on improving the visual layout of forms? For example changing the
position of the controls? All help would be greatly appreciated.
Thanks!

--
Chris Hallsworth
e-mail: christopherhallsworth71@xxxxxxxxxxxxxx
msn: ch9675@xxxxxxxxxxx
skype: chrishallsworth7266
klango: chrishallsworth
__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind


__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind



__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind



__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind




__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind


__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind

__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind

__________
View the list's information and change your settings at //www.freelists.org/list/programmingblind

Other related posts: