I've created a screen in compact framework using the form editor, is there a way I can grab this screen or at least some components of it and use them in multiple places in the compact framework app?
Yes, tcarvin is right, just create a user control and then reuse this in your compact framework application as often as you need.
To start right click in VS on the project name in solution explorer:
In the popup menu click Add and then UserControl. Accept or change the file name for the user control and then you are looking at the empty user control:
You can now resize the user control canvas and then place other controls as buttons, labels, textboxes etc. on it:
You can then also enter code for button events etc. In the example one can add code to use openfiledialog to select a file and the filename will then displayed in the textbox.
When you are ready, you have to build your solution to get an updated control list on the left in visual studio. Back to a window form design view, you can then place your usercontrol:
Is that simple?
You can also build a library with user controls and then reuse your controls in every compact framework project where you reference the library.
~josef
It sounds like you need to look at UserControls. They let you create add one or more controls to a surface (the UserControl), and then you can add that UserControl to as many forms in your application as you want.
Related
Ok, I'm being really thick here and am having a few minor issues which are turning into major ones in my head:
I have a MainWindow that houses a tab control into which I have several "apps" sitting which all have their own solutions. I have built a neat "loading" control which is housed in the main window but is hidden and is only displayed when one of the displayed pages has a button clicked. However, I don't seem to be able to access the user control from the page.
As an example, I have an admin page which controls users in a database which wotks fine. When I click on the submit button I want to make the user control visible on the MainWindow and when the function is finished to hide the control. I know how to unhide and hide the control just not how to access it. I have attached a representation of the file structure below so you can see the issue I have accessing the MainWindow in the main solution from say the pageAdmin.xaml.
I have been googalizing this for a while and can't seem to find a solution that works. Can anyone point me in the right direction? I am open to any suggestions about how to handle this.
Andy
Just to be sure: what do you mean with "apps"? Do you have one WPF application which hosts different components?
Maybe PRISM (Microsoft Framework) is interesting for you. In PRISM you can dynamically load components from different dlls and host them in one WPF application. It has a build in messaging framwork which works very well and the diffetent dlls don't need any references among themselves.
I have an application where I'd like to create multiple DockPanels at run-time, but I'd like them to all follow the same template.
I've had some success attempting this dynamically (creating the class in pure code) but the lack of designer features is seriously impeding my ability to make it aesthetically pleasing (it also feels like I'm working against the API, which usually means I'm doing something wrong).
p.s. I'm using DevExpress v13.1 and WinForms on the .NET 4.5 Framework
There are simple steps how to create reusable UI portion in Win Forms and place it into multiple Dock Panels:
Create UserControl (VS menu Project->Add UserControl...) that contains all needed UI stuff via the designer.
Rebuild the solution -> UserControl will appear in the Toolbox.
Drop this UserControl onto specific Dock Panel.
Repeat Step 3 for each Dock Panel. Profit!!!
At runtime, just create this UserControl instances and place it onto runtime-created Dock Panels.
i am building a C# application, i have explored its all controls but i cant find the left menu style which i usually see in software applications for example visual studio, i am attaching the image of what i need.
Please let me know how can i use it in my forms. I have used a tab menu control in visual studio, but it is not what i required, its tabs are vertical, but i want the exact like i shown in attachment. I think it requires some reference to add.
I don't think that control is available, which means you would have to make one yourself. Here is a link from someone that made one. I haven't tried it: Visual Studios "My Project" Tab Control
There is no such a control in the ToolBox by default. But you could create one for you.
Creat a user controller.
Added a SplitContainer and set Dock.Fill.
Add a FlowLayoutPanel to the Left panel. Add buttons or labels as you wish and implement the click event.
I am currently in the process of improving my options dialog for a winforms application. At the moment I am using a tab control.
I would like to create a form/dialog for settings that is similar to Visual Studio's. How is this done? I can see a treeview like control on the left hand side but what control are they using to display each of the options pages, it doesn't appear to be a tab control. I would like to be able to build the controls for each of the settings at design time.
Thanks.
They look to me like UserControls. I can't say how exactly they implement it, but it would be simple enough to build a UserControl for each option type and swap out the current control when the tree view selection changes. In your designer you would simply have the TreeView and a parent panel to host the UserControls. At runtime you would perform the swap.
For instance, I have an application that has a main window and then child windows inside of it.
http://screenshots.rd.to/sn/e3hek/sapienfullwindow.png
http://screenshots.rd.to/sn/e3hek/appscreen8.png
What i need is to grab each individual child window of that application, and display them as tabs in my application, or on a panel's handle.
I already have code to kidnap the application and put it into mine, and it works great.
MDI support is already present in the C#. So the first screenshot is using the MDI option.
The second screenshot is using tabbed windows. Now you have two options:
Use this opensource library DockPanelSuite which will let you have tabs in your application. something similar to visual studio interface. You can create forms and then tab it based on your needs. You can even dock them anywhere in the parent form by drag and drop. Just like in visual studio.
The second option is to create a form with tab control covering the whole windows. There you create tabs using the resource editor and hide/show based on the forms you want to display to the end user.
In my opinion, use the first option which gives you lot more customization. Also if you use the dockpanel, you can switch between the views shown in your first screenshot and second one. So user has better control as to how he wants to view. Dockpanel is free to use even in commerical apps and comes with source code. So you can either use the dll or directly incorporate the code in your application.