Creating a Drag n Drop Designer so users can create a Form? - winforms

I'd like to create a way for my users to create Forms so they won't have to ask me to do it. Unfortunately, I am in dark, unknown territory. I envisioned it as the following:User can drag pre-made tables or (pre-made) custom rows.Once the user has created the layout, he will save the layout and deploy to the server.Other users will then be able to access the new Form which will have textboxes, radiobuttons, and checkboxes.Lastly, users will be able to save and load that Form Data anytime they access the Form.
Anyone can point me in the right direction or give me a quick summary of what I'll need to accomplish this task? It will be much appreciated.
At this point, I'd like to do it in WinForms, WPF, or Silverlight. I know the tech is different but the overall approach should be same (I'm hoping).

Rather than building an application for form-filling, consider using Microsoft Infopath.
If Infopath is too expensive to deploy, you may use the form functionality in Microsoft Word instead. Here's a tip to save data from Microsoft Word forms to the database.

Related

Winforms design advice

I am working on a winforms client server application that will load one of many forms that would be used to enter data or retrieve data or search for data. I want to put buttons on the left side of the screen to select which form is loaded on the right, and buttons at the top for the usual New, Open, delete etc.
I began working on this by making an MDI form that would popup a child window that allows to user to pick the application they want to use. Then when they select it, it would load the appropriate form on the right and update the text and functions of the buttons on the left. I was using panels to load the forms into for the button form (which I called the Navigator) and the application form. I had to use events to make changes to the different button forms when the form on the right was changed. A friend of mine said that I was probably going about this in the wrong way. He said there is probably a better design pattern or methodology or controls that already do that for me.
I dont know how to even search for something like this on the web.
Can someone give me some direction on this?
I can do the research if I am pointed in the right direction.
Maybe there is a control that already does all this?
Thank You.
We use a similar pattern. MDI parent with menus for objects and tasks. MDI Child forms (about 30) for each object/task. Left "nav" button in three groups: 1:1 (calling up l related objects), 1:N (display lists of related objects - inspections, equipment, etc.), N:N:X (other complex relationships or tasks). The body has a tab control to group data. At least one tab is a datagridview that is reused for the 1:N lists.
Left nav button sets are dependent on the object being managed. We add the buttons dynamically but in most case they are hard coded - we just don't use the toolbox to place the buttons on the child forms. Each button set is in a Panel - I would probably use a FlowPanel if I were to start over.
We build a "model" form on one of the more complex objects, built all the data binding logic, and then used that form as a basis for the other objects. We didn't use inheritance as supplied by Visual Studio/VB.Net.
We do our own control data "binding." We use ADO.Net and SQL Server. Our child forms only display one record and do not support the typical record navigation seen in the wizard generated forms - this works fine in our case as we navigate sideways through our data. e.g. Application, Authority to Construct, Permit - then inspections, renewals etc. all related to one Facility. (we're a regulator agency)
We use VB.Net as a lot of the business logic was developed in VB6. I'd still use VB.Net today vs C# - much easier to use for business logic and more maintainable IMO.
One issue to consider - some have out the long knives for WinForms (and VB.Net.) I can't see Microsoft depreciating WinForms but there are those advocating that. Many cannot appreciate the simplicity (albeit limited flexibility) of the WinForms that allows us to concentrate on the business being done. I keep looking at WPF but simply cannot see the usefulness of all the UI power it provides. WPF proponents will push MVVM but that is just more complexity that is not needed for small scale development or production (20 users with desktops o a LAN) environments. WPF does not lead itself to our sideways navigation.
I think the left toolbar for selecting the form is a good pattern, but make it collapsible (hide) so the user could use all the desktop space.
As for MDI personally I don't like it because fell a bit outdated and cluttered. But again look for a balance of form and function.
For the top toolbar I would make it part of each form so it would be easy to program the logic. It an unnecesary complication put them on the master form.
As a recomendation you could look, Designing Web Interfaces even it's more focussed to web could give some pointers in user interaction.
For more informacion search ui patterns, user interaction design.

Starting out Silverlight 4 design

I come from mainly a web development background (ASP.NET, ASP.NET MVC, XHTML, CSS etc) but have been tasked with creating/designing a Silverlight application. The application is utilising Bing Maps control for Silverlight, this will be contained in a user control and will be the 'main' screen in the system.
There will be numerous other user controls on the form that will be used to choose/filter/sort/order the data on the map. I think of it like Visual Studio: the Bing Maps will be like the code editor window and the other controls will be like Solutions Explorer, Find Results etc. (although a lot less of them!)
I have read up and I'm comfortable with the data side (RIA-Services) of the application. I've (kinda) got my head around databinding and using a view model to present data and keep the code behind file lite.
What I do need some help on is UI design/navigation framework, specifically 2 aspects:
How do I best implement a fluid design so that the various user controls which filter the map data can be resized/pinned/unpinned (for example, like the Solution Explorer in VS)? I made a test using a Grid with a GridSplitter control, is this the best way? Would it be best to create a Grid/Gridsplitter with Navigation Frames inside the grid to load the content?
Since I have multiple user controls that basically use the same set of data, should I set the dataContext at the highest possible level (e.g. if using a grid with multiple frames, at the Grid level?).
Any help, tips, links etc. will be very much appreciated!
Microsoft has created a great community site for helping people get started with both design and Silverlight here: http://www.microsoft.com/design/toolbox/
It may be far more than what you need for your current project, but it definitely will give you the training you need to master Design with Silverlight.

Business Objects Web Intelligence-style reporting in a Winform app. Is this possible?

I have a WinForm app that displays results in a Gridview control. If a user right mouse clicks on a row, he can then, from a popup menu, select a command to perform on the row much like windows File Explorer.
But now I want to be able to give the user the ability to construct a filter so that he can control which rows are displayed in the grid w/o effecting the functionality of the application. I would also like the user to be able to select the columns/fields that he sees in the grid.
For the basis of this question, let's assume that the data displayed in grid comes from a single table.
business Objects' Web Intelligence and Desktop Intelligence applications give me very flexible and powerful reporting capabilities, but I want to integrate this capability into my WinForm application.
Does Business Objects, or maybe Crystal Reports provide this sort of functionality? I can construct my own query builder but I'd rather not reinvent sliced bread.
I like developerexpres xtragrid.
Its has filtering, column customizing etc.
If you want pivottables/olap like tables they have XtraPivotgrid
Usually the filtering is clientside but they have the possibilitie to generate serverside queries..

Automatic form generation software

I'm using winforms. I spend a lot of time drawing forms (maybe not a lot, but it is a boring task).
To sum up... I want to develop a simple aplication that connect to a sql server database, let the user to select a table, and put the controls in a form for me (generate the designer code), based on the tipe of each column. Then my app will name each control like the column of the table, set the maxlengh property (if the type is varchar), and create a label with the same text near the control. If the column is a FK, then the app will draw a combobox and so on. I saw that Telerik Open ORM make something like this, but I only need a simple app for the IU Generation.
If the same day I finish my little application I discover a tool that make the same... I will feel myself stupid :D
Are there any tool out there that do this work for me?
You can just drag DB columns from the Server Panel and drop them on the Form. This will generate TextField, CheckBoxes and other UI elements for you.
You can also drag the entire table and drop it on the form. Same thing will happen: all fields will get generated.
This is using plan Visual Studio 2008 IDE.
Take a look at DevExpress - they have a number of ways to do exactly this. (We're a happy user of their product.)
Take a look at Microsoft lightswitch. I had posted a similar question as yours and stumbled upon it by accident. Devexpress also has an orm like Teleriks http://www.devexpress.com/Products/Index/Frameworks.xml. I am using Lightswitch for form gen. good luck

Designing UserInterface for LOB App in Silverlight

I'd like to know what's now modern and trendy at designing user interface in business apps?
My old Windows apps used modal windows very often. For instance there's a list/datagrid of invoices. User wants to add a new invoice, then empty invoice form modal window popups, then user can select an existing customer in another modal form, and if she doesn't find a customer then another window with add new customer form popups. So there's too many popups/modals for me. And modals don't fit well in MVVM pattern.
Is it possible to make it more friendly for user?
The important fact would be that user can have a few invoice forms open at the moment. But I also know that MDI style isn't recommended any longer.
I would first focus on what is usable and easily understood by your end user. Trends come and go, but good UI is timeless.
Understand your users. Understand how they use your application. Discover the things they are unhappy with and find out how they would improve them. Assess your overall goal and implement the changes you need to get their.
If you're looking for specific examples though, we need more specific information and a more direct question.

Resources