I was wondering if anyone knows of an existing sample or an approach to achieve the desired functionality.
Basically, what I'm looking for is a web browser like skeleton. The idea is that the main screen of my application is shown in the left tab. This tab can never be closed. On this screen is an overview of various application components such as activities, events, contacts, etc.
When the user clicks on a specific contact/event/activity a new tab is created and auto-focused. The user can view and edit the information. When they are done they can close the tab.
The ability to have multiple tabs open is important.
Also, keyboard shortcuts to easily navigate between tabs would be great, but not absolutely essential at this point.
Note: I don't need to access any web content.
Really what I'm looking for, at least what I think I'm looking for, is a shell of a modern web browser. Does something like this exist? Is there a good approach to building such an application?
Note: I'm new to Windows GUI development, so I apologize if this is a rudimentary question. I was unable to find anything meaningful while searching MSDN and other resources.
Thanks!
What it sounds like is not really a Web Browser shell at all, simply the relative appearance of one functionality-wise.
What you can do is use a TabControl control. This can be altered to suit your needs quite perfectly in my view.
An example of a modified TabControl is as follows: [ From here ]
There are a number of things that can be done with a TabControl (as with any other component) to make it suit what you need.
Here are some links that you may find helpful:
Flat Tab Control - As per the picture
MSDN
Video on using a Tab Control
C# Corner
Related
A follow up to my Previous Question on adding a button to the Window Chrome (also known as the Non Client Area) in Windows Forms, I have decided to switch to WPF to have a better chance of solving my issue. I need to add some buttons to the Non Client Area or Window Chrome similar to that of Firefox 4
From what I have heard it is easier to do this in WPF. I have no idea where to start. If possible could someone give me some guidance on how to do this?
You should modify the Window Control Template. See examples here.
Does anyone know of a C# WinForm or WPFcomponent that I can use as a "Word-Blank-page" control?
I need that the my user at runtime see a whit-blank-page that can manipulate by having basic text editing (bold, fonts, color), basic tables and images placed everywhere on the "canvas" (the white page).
The component should give me an API, so I can react on user actions on the component, like when right clicking on table or an image (I will display different forms depending on the object clicked).
I look for some extension of the RichTextEdit control from different vendors, but any of those can give me the functionality I need.
Any suggestion is welcome.
Flow documents is a good way to go. They are thoroughly documented by Microsoft.
They provide all the functionality you mentioned and then some. Code Project has some good examples on how to use flow documents. You can check this beginners guide for starters.
I am trying to develop web parts with custom functionality for editing for normal users. In the chrome bar there would be the same sort of controls as you see in the top right of your browser (except with a triangle instead of a line).
Triangle is to minimise/restore (as in OOB, but with different display)
Square is to maximize a new module type window, probably with an iFrame displayed in a module type view window with jQuery with an additional field to add the url to where it should go
Cross is to delete web part
The functionality is required across a few different types of web parts including calendar, CBQ, Data View, CBQWP, and would ideally be a part of a custom chrome that would be added to them. I don't do back end code so I'm finding it hard to get my head around how someone would put together the functionality. Unless it's simple it won't be me writing this functionality. I have Enterprise 2010 for development, but the people using the control would only have foundation.
I'm basically after opinions about how this would be done. I think it should be a custom control written into the chrome, if that's possible. Does that seem feasible or is there a better way of doing it?
I would really appreciate any advise, even if it's just that it would be better to skin the existing chrome and leave the functionality as is. There's leeway with the functionality so at this stage it's deciding on how best to do it if it's possible or not too bother going down that route.
Thanks very much in advance!!
I want to be able to use the .NET WebBrowserControl to record and repeat user actions to automate the collection and retrieval of text from web pages for a data extraction tool that I'm building, but am unsure about how to best approach this.
I specifically want to use the .NET WebBrowserControl as it can be embedded in a .NET form and also used within a server side process without a UI. I'm aware that there are other means of recording and repeating user actions such as Selenium, but for now I am interested in a solution around the web browser control (just to keep answers focused).
Actions to be recorded are those such as button clicks, drop down list selection, link clicks etc.
Potential solutions I have looked at so far:
(Please correct me if my notes based on brief evaluations are wrong)
iMacro (doesn't appear to have a component that can be used within a project, to record user actions, rather the GUI has to be used).
WaitN - Good for programmatic play back - but no recording facility that can be hooked up to the web browser control?
I'm presuming this is possible as services like Mozenda appear to make use of the WebBrowserControl, or some IE like version based on mshtml.dll.
Are there any other options I can look at?
Any insight would be appreciated.
yap, as in Mozenda ,when user create any action like goto mainpage>click on images>download image etc... the XPath is recorded with the each page url into XML file. So, use self learning algorithm to implement such kind of XML better way than mozenda.
i have developed one application using JSOUP and Regular Expression Parsing works same as mozenda do. i created the configuration file which contains the XPath of all the items you want . Which works great for me.
Hope this helps,
I am trying to develop an windows application like Google chrome Browser in WPF
using C#.I am facing problem in making my own Custom Window and Placing Tabs at the Place of the Title Position of that window.
Please suggest me how to go for it, is there any tool for this ?
Guide me please..........
Updated:
Hi Friends Thanks for your active responses and I also followed the links you gave and the way you told, but still I have doubts in developing the application please give me some more ideas where I can develop this application by using Google Chrome like controls. I want to give my application Google Chrome like look and feel.....
Google Chrome essentially custom-draws the non-client area of its window to remove things that it considers superfluous like the title bar. That's how it gets the tabs to replace the title bar of the window, just like how Microsoft Office places its "pearl" and quick access toolbar in the title area of document windows.
To do something similar in WPF, you may find this article useful: Link
Remember that any time you re-implement the standard windows chrome, you're going to have to handle a bunch of stuff that Windows normally makes transparent to you, like resizing, minimizing, maximizing, moving, and closing a window.
It is worth considering that both Google Chrome and Microsoft Office applications (among others) behave differently depending on whether Aero Glass and the Desktop Window Manager (DWM) are present/enabled. You're going to have to make sure that your application degrades gracefully when these things are missing. I would advise being sure that you can really make a convincing case for the necessity and benefit to the users before you invest all the time and energy it takes to do things like this in your application.
I just finished a Google Chrome-like Tab Control for WPF. You can find the project at https://github.com/realistschuckle/wpfchrometabs and blog posts describing it at
Google Chrome-Like WPF Tab Control
ChromeTabControl and Visual Children in WPF
WPF Chrome Tabs Functioning
Hope that helps!
It appears that Chrome draws its tabs within a limited region of the title bar area. When enough tabs are open, the width of existing tab controls is reduced to make room for a new tab.
I would suggest that you adopt a similar strategy by drawing your tabs in a suitably sized Rectangle which does not intersect with the caption buttons (Minimize, Maximize Close) and reducing the width of existing tab headers when the region becomes full
[Update 1]
While I haven't seen your code, I would suggest this happens because the tab header (the part displayed in the title bar area) and the tab page (the part covering most of the screen) are a part of the same control and are drawn as a unit, so when you try and draw the header in the region the tab content is redrawn too.
If this is the case, then you need to draw the tab header and the content page as separate controls and maintain some state in the tab that indicates which tab page should become visible when the tab is selected.