UI with single window

Posted by Admin on 07-Oct-2008 09:53

Hi All,

Just wanted to know your thoughts on this one.

I want to create a UI that has one main window.

I also want to use the form designer to create separate forms, to become the next "slide" or frame in the same window.

(Just as one use to use smart frames or create a generic form in a .i)

form1 would have some control and button "go to next form",

form2 will then display my second form with a different layout of buttons and other controls, but in the same window.

The way I see it is possible is

1) to create forms as controls and then drop these controls on the main window and hide and show them on user interaction.

2) Use panels to group control (but this will easily go out of hand once there are more than 5-10 panels)

3) Create a tab control and hide the "tab chooser".

Is there a better way of doing it. How will you guys would want to implement it?

Thanks,

Parul.

All Replies

Posted by marko.rueterbories on 07-Oct-2008 10:09

Hi Parul,

if you are planning a new software with a fresh UI.

How about and MDI Application Model?

The advantage is that you are able to dock youre Windows into youre Main Window. And second advantage is the less ram storage you need to run youre application. It would be much faster i think.

Greets,

Marko

Message was edited by:

Marko Rueterbories

Message was edited by:

Marko Rueterbories

Posted by Admin on 07-Oct-2008 10:18

Thanks Marko,

I forgot the MDI bit in the original thread.

Yes MDI is a solution but I don't want to go that way.

I am looking for something non MDI.

Posted by Admin on 07-Oct-2008 15:25

You might want to check out the UltraTabbedMdiManager. Nice alternative to the classic MDI style.

But if you ever only want to display a single control (page) and want buttons (and application logic) to control the "go forward" and "go backwards" it sounds like user controls are the better solution for you.

I'd never drop them all at design time to a container area (the child area of a Form, a panel, etc.) like your first approach. Unlike the AppBuilder which supports pages for this folderless paging at design time, the Visual Designer does not. You'd always be messing around with move to top, visible = true, visible = false at design time. This usually drives me totally mad after seconds.

I'd rather consider a generic design of the Form or a separate user control implementing one interface and each of the controls that would be used as pages (your form1 and form2) implementing another interface. If you write this generic enough, you could use the DYNAMIC-NEW to instantiate the controls and have a generic "go forward" and "go backward" logic depending on the number of controls. Depending on the names of the user controls, it appears to be possible to load the controls using a certain naming pattern or a list of control names. The naming convention might appear very practical. But I would not consider this good OO style.

If I get your second approach right, you'd have everything (up to 10 pages) in a single design (single .cls file). This can, easiliy become very complex and create a very large file. I'd prefer the usage of user controls. And again, those panels - if used without a paging container like a tab folder would drive me completely mad at design time (see previous paragraph).

Regarding the tab folder solution. Did you consider the "Wizzard" style of the Infragistics tab folder controls? That hides the tabs, tells the user on which of how many pages he is?

Generally, I have the feeling, that I'd go the way with the custom paging container control.

Posted by Peter Judge on 07-Oct-2008 15:43

Generally, I have the feeling, that I'd go the way

with the custom paging container control.

Some vendors provide a carousel-style controls (think Apple's CoverFlow) - I believe Telerik and DevExpress have them - which might meet your needs.

-- peter

Posted by jmls on 07-Oct-2008 15:45

here's a short demo of the telerik carousel - you will need to update the class names and paths.

[View:~/cfs-file.ashx/__key/communityserver-discussions-components-files/19/carousel.cls:550:0]

[View:~/cfs-file.ashx/__key/communityserver-discussions-components-files/19/carousel.resx:550:0]

Posted by Admin on 07-Oct-2008 15:50

form1 would have some control and button

"go to next form",

form2 will then display my second form with

a different layout of buttons and other controls, but in the same window.

This sounds more like a tight controlled way of paging, not the free intuitive style of cover flow.

This thread is closed