Our WPF application in the current design opens new windows for list screen.We don't have restrictions on the number of windows you open etc.We are using a ribbon control and well it has tab support.Which is better a new window or a tab? (With windows 7 having a better group of window management etc) Should I go in for tab or leave it as window. I can't make the detail screen tab since well the user click of a item in the grid to select and edit.Any valid suggestions? Thanks in advance.
Tabs in a Ribbon shouldn't change the view. The Ribbon is an enhanced toolbar, not a view changer.
If your using the MS Ribbon via OfficeUI, then there is a stipulation in the design guidelines that the view should never change the appearance of the ribbon (apart from loading context tabs) and that they ribbon should never wholesale change the view.
In regards to your question, do you mean that you have list/grid and you want a view to be able to change the data in the row. Eg. they double click a row, a view appears that gives them the ability to edit that row?
The right way is to ask your users what they like more. If you can't ask users, ask yourself - what you find more convenient - to open\close windows or switch between tabs. I wouldn't rely on win7 task bar as it's grouping behavior can be disabled or users may use another OS. Also I would suggest to check Microsoft guidelines for using ribbon.
Do you need to see more than one pane's content at once? Windows allow this, but tabs do not.
Tabs make management of the various windows easier at the expense of some flexibility.
Are your users likely to be running on multiple windows?
It is really hard to give a confident answer to you on this one without knowing more about your application and your user's requirements.
Windows 7 displays multiple previews on grouped windows of the application, however in case of tab, like IE, you will have to write quite a good custom code to show your tabs in preview of Windows 7 taskbar, which in case of Multiple Windows, it will be done automatically.
Not only that, Windows 7 also lets you put seven toolbar buttons on the preview windows, very few people knows about it because no application currently does it.
For tabs you will need to do extra programming to support multi window preview.
So its better to stay with multi window solution for now.
However in case of IE, if you try to use Windows 7 taskbar, the tabs dont align themselves in correct order of what is displayed in preview, it could be bug, but yes there might be certain limitations because when user chooses the tab to preview you will not be able to show them preview unless you make it active and thats why its little bad.
I recommend playing with Mozilla Firefox and Google Chrome if you want to see tabs at their finest.
Notice that tabs can be teared out into a separate window and windows can be docked as tabs.
Related
Does anybody know if this control comes with the windows phone 8 SDK or if I must program it?
This screen appears when I go to people => click + icon. There are many very similar screens in windows phone but I don't know if they're ready controls or custom ones.
What I need is a screen that hides all background and just shows a list of options upon clicking a certain button, and I want to handle application overflow depending on the option the user chose.
Any ideas?
You can use the CustomMessageBox from toolkit http://phone.codeplex.com
it takes a Content that can be a listbox or user control.
and you can make it take the full screen.
check this: http://shawnoster.com/2012/10/welcome-custommessagebox-to-the-windows-phone-toolkit/
and this: https://stackoverflow.com/a/15944006/1423885
Advice on approach needed.
I would like to give the user the ability to move tabs between 2 monitors.
What is the best approach?
Idea being user first load the form.
TabControls shows with eg 5 tabs
User can drag 01 tab on another monitor.
Is it possible?
Any suggestions?
I would open two windows (one on each monitor) having a Tab-Control on each of them. The moving of a tab from one window to the other I would manage by using Drag'n'Drop.
You need to use some form of Docking container control. Most of the commercial WinForms widget libraries have one, I have worked with Infragistics. There are also free ones like this one DockPanelSuite (or at least free when I used it). These docking controls will handle the transition between docking and floating, similar to the various windows you can drag around in Visual Studio (Properties, ToolBox, etc.).
I'm currently designing an MDI application (a custom CRM) in .net 4.0 and i'm starting to dislike the whole interface simply because there's no real way to track which windows are open or closed and it'll probably lead to a very confusing interface.
What is the best way to avoid this?
- Should i implement a taskbar to track every open mdi child?
- Should i use dialogs instead to prevent multi-tasking?
- Is there any way to change the size of a minimized window on a mdi container (why are they so small, you can't even read the full form title that way...)
Sorry for so many questions, thanks in advance.
MDI has its uses, but as you've found can easily lead to a cluttered, hard-to-use interface. The current in-vogue way of dealing with this is to add a tab control (as in any web browser, or most text editors/IDEs) to allow switching between open views. This is close to a task bar I guess.
Other options are controls like the Outlook bar (the big view chooser down the left-hand side of Outlook) or possibly just a simple list box with the currently open views.
Alternatively, consider how often you really want multiple windows available and whether most of them are "tool windows". If so, perhaps look at using docking windows for these tool windows, and a Single Document interface for the rest of the app. All depends on what you're actually doing!
The MDI windowing management already has the built-in to track open windows by way of the menu. The ToolStripMenu has an MdiWindowListItem that you can set to a reference of the menu item that will contain the list of open windows. If the menu is attached to the MDI parent window, child windows automatically populate the menu item.
One of the objectives of MDI is to allow multitasking. If that's not what you want, use a different design.
As far as changing the size of the minimized windows, apparently it's not possible using the standard Windows interface. See more info here: Is it possible to change size of minimized window in MDI C# Winforms. But you could remove the standard Minimize button, add your own, and do what you want with the windows in a Normal state.
I am trying to create a panel which will have a set of "buttons" on it.
These buttons should have the following behaviour:
Appear similar to a tag (with
rounded edges)
Contain a red
cross to remove the filter/tag from
the panel, similar to the way internet
explorer tabs have an embedded cross to close the individual tab.
allow the user to click
on the tag and respond like a normal
button (as long as the click is not
in the red cross)
Number 1 is no problem, this is just appearance, however, regarding numbers 2 and 3, I am not sure if there is already code out there do to something similar...and I dont really want to reinvent the wheel if I can avoid it!
My question is: Does anyone know if there is something out there in infragistics which will do this simply, or will I need to write this myself by subclassing winform buttons?
Thanks in advance!
Is this new development or maintenance of an existing project?
If it is maintenance, you have a somewhat tougher time ahead. You'll implement a UserControl, probably segmented into two buttons. Use docking to get the behavior as correct as possible. The far right button would contain your cross image; the left (which would need to auto-expand as you resize the control) would contain your primary button behavior. Play with the visual styles until you get them right (EG, removing borders, etc).
If this is new development, and you haven't gotten too far into it, you might consider using Windows Presentation Framework (WPF) instead of WinForms. It will be easier to build the control and get it to look exactly how you want it. WPF includes an extremely powerful control compositing system which allows you to layer multiple controls on top of each other and have them work exactly as you'd expect, and it carries the added advantage of allowing full visual control out-of-the-box.
Either way, this is more work than dropping in an external component ... I've used Infragistics for years, and I can't think of anything they have which is comparable. The closest, but only if you're building an MDI application and these controls are for window navigation, is the Tabbed MDI window management tools -- and there, only the tabs (which replace window title bars) have this behavior.
I don't think that infragistics can do something like this. The UltraButton control can't.
Implementing a own control wouldn't be that hard.
your probably going to have to make a costume control for this type of work.
I'm searching a C# component or code snipped that does something like that:
I want to inform new users about the most important program functions if he opens a new window for example.
It should be a box showing text (formated if possible) that is of course not modal and has some mechanism to 'go out of the way' if the user enters the textbox area. So that he can access what's underneath it. Alternativly the window could also stick to the border of the window, but there needs to be a way that this also works if the window is maximized.
So I want to present him with a short introduction of what he can do in every corner of my app most painlessly.
Thank you!
I use a "bar" at the top of every window to display some information about the current window/dialog.
Use tooltips. They can be programmatically controlled, and you can have them appear at will. You'll need to add the functionality to your app to keep track of what tooltips have been shown to the user already.
You can add a "balloon" style by setting the IsBalloon property to true.
You can also replace them with smaller descriptions for when the user wants to hover over the control and have them displayed again.
I'm already using tooltips heavily. However, they aren't very practical when displaying bigger amounts of data and they are bound to specific user actions.
Have you considered having a contextual menu for each form / page which contains links to Adobe Captivate style presentations for each available task? That way the user can investigate an example of how to achieve a task relating to what they are trying to achieve from within the application / site.
This approach would require a good deal of maintenance and management if your code changes regularly but coordinating it with a training department can provide rich help features in your application.
See http://www.adobe.com/products/captivate/ for more information.