How do I size a Manipulate input field when using Control?

I'm building a Manipulate object and I need to reduce the width of the input fields for improved usability. I've tried everything I can, and I don't seem to be able to get it. Everything points to using ImageSize, but that doesn't work when the fields are used within the Control function, which is necessary for the grid layout I'm attempting. I've also tried it using Row, but still have to use Control, and so I have the same problem.

This is a simplified snippet that will illustrate my code.

Manipulate[p1 + p2 + p3 + p4,
Grid[{
{Control[{{p1, 0, "p1"}}], Control[{{p2, 0, "p2"}}]},
{Control[{{p3, 0, "p3"}}], Control[{{p4, 0, "p4"}}]}
}]]


Is there any way to reduce these input field horizontal lengths from the default length?

• Just add the option ImageSize: Control[{{p1, 0, "p1"}, ImageSize -> Tiny}] – Ulrich Neumann Jan 22 '19 at 15:53
• .. or Control[{{p3, 0, "p3"}, FieldSize -> Tiny}] – kglr Jan 22 '19 at 16:18

Try this:

Manipulate[
p1 + p2 + p3 + p4,
Grid[{{InputField[Dynamic[p1], FieldSize -> 7],
InputField[Dynamic[p2], FieldSize -> 7]}, {InputField[Dynamic[p3],
FieldSize -> 7], InputField[Dynamic[p4], FieldSize -> 7]}}]]


Play with the FieldSize.

Have fun!

• That worked great. Thanks! – Infinity3 Jan 22 '19 at 16:54