How to create custom C# widgets? - c#

What is the best approach and/or tool?
The trackBar in the MS Visual Studio 2008 Toolbox is inadequate.
It needs to be optimized for an 800x480 touch screen in extreme environmental conditions.
The button on the trackBar needs to be larger so it is easier for the user to move the control using a finger. Its possible with the existing widget, but difficult since the button is small. I am using C# in MS Visual Studio 2008, but don't know if it is WinForms or WPF (this is my 1st C# project). The target is an old windows-ce tablet. It would be great if step-by-step instructions on how to create a custom control already exist. An alternative would be a tool I could purchase.

Here are a couple tutorials on creating custom controls:
Using Winforms
http://blogs.msdn.com/b/jfoscoding/archive/2004/12/06/275505.aspx
http://msmvps.com/blogs/deborahk/archive/2009/10/13/winforms-user-controls-101.aspx
Using WPF
http://msdn.microsoft.com/en-us/library/cc295235.aspx
http://www.wpftutorial.net/HowToCreateACustomControl.html
It might be a good idea to read up on the basics, then ask more specific questions that you have regarding the nuances of creating a custom control.

Related

Opening an application as an MDI form in WINFORMS app

is it possible to take an application such as the mysql command line or notepad and display it in a windows forms application as an MDI form?
I have a relatively complex application that I would like to be able to access mysql directly through, for convenience. I would also like to be able to open notepad to allow simple text editing, but it seems foolish to reinvent the wheel and write my own text editor and incorporate it within the app just for convenience.
I just need a pointer as to where to go, as I currently have no clue, although I did consider using COM interop but I am not sure which of the native dlls to use.
I am using C# with Visual Studio 2012 Ultimate.
First I am not quite sure why you would want to do this however your best bet is going to be to find something on codeplex.com and integrate it into your application.
An example would be
http://dbexecutor.codeplex.com/
Then you can take the source and integrate it into your mdi application

Embedding the Math Input Panel in a WPF project

I'm trying to use the Math Input Panel in a WPF project, but have no idea as to how I can make the panel to be apart of the WPF project (not a pop-up, or a lone window - it must be embedded in the project). I'm thinking of embedding it in a grid.
I got the panel to work in a windows form using the following example: Math Input Panel with C# but then it comes up in a stand alone window, which I'm trying to avoid.
I'm using Visual Studio 2010 and 2012 with C#. If you need more information please feel free to ask.

Any .NET Winforms control which look like this QT's QPushButton?

Is someone know any .NET Winform control which look like this button control?
QPushButton:
http://zetcode.com/gui/csharpqyoto/layoutmanagement/
You have several options here. You aren't specific about exactly which part of the platform you are using, but if using Winforms, you can certainly customize the buttons to some extent.
If you are using WPF, you can pretty much make it look exactly like you want in XAML. Check out Expression Blend.
As #Dimitri put it, the sky is the limit, but you may need to do the leg work.
You can create custom controls according your need and have its reference added to your project. you will have it added to your toolbox that you can use.
If you are refering to a button that is located on this example form:
We currently finishing our own application that has rather similar looking buttons. We did this by using a third party component. Steps are:
We purchased DevExpress.com's WinForms library.
We developed our own DevExpress Skin (with the help of an external screen design guy)
This was a bit of a work and some amount of money but the results look pretty neat.

Components for WPF similar to the simplified Visual Studio

I would like to make a support plug-ins in my program.
For example in my program there are several tabs in one tab is the editor in which the code is written also in that tab has a button run.
After pressing the button run occurs a compilation of source code and its execution.
The results of work are displayed in the other tab.
I would like to find such a component in which there are:
Syntax Highlighting, Debugger, Analogue of solution explorer
Thank you very much for your answers.
I would like to bring more of clarity to my question.
I want to do something similar to that is shown in the screenshots below
On a single tab there is the editor and at the other tab displays the results.
To write plug-ins I'd like to use C #.
I guess the best place to start is AvalonDock from CodePlex, specifically what you are trying to do is a Tabbed User Interface.
Keep in mind that even with a TabbedWindows framework build/debug and syntax highlighting are not for free and you will have to find icons and design the UI mostly yourself.
for code coloring there are also many components, also free, like Scintilla .NET
You obviously understand that Visual Studio is a very complex application, so rewriting portions of it will be difficult. There are components available to help you, like the ICSharpCode text editor. In fact, that whole project is probably quite valuable.
However, when thinking of plugins and actually writing code for it, I'd personally go down the MEF route. In fact, this is the very framework that VS.NET 2010 uses for extensibility. Provide your user/developer with a set of libraries to code against (like an SDK), and let them use a Visual Studio Express edition to write proper code :)
As source code editor you can use AvalonEdit (it is great, in some aspects even better than VS code editor), solution explorer is fairly easy to create and debugger is way too language-specific to be a reusable component (you didn't specify what language are you developing for!).
The whole thing can be packaged into AvalonDock, so you get the draggable and dockable panels - it even has VS 2010-like skin (and again - is very easy to implement even with only very basic WPF knowledge).
Or you can use the Visual Studio Isolated Shell - it allows you to use the Visual Studio interface in your program (the end users don't have to have VS installed!), but it requires extensive knowledge of VS API (if you ever developed VS extension you know what I am talking about). For example Civilization V used this approach for it's modding environment, but the result smells as stripped VS with custom splash screen, not as professional product. There are many buttons and config. options that don't work, some features that would be expected from such program (and easy to do in custom app) didn't get in because it would be nigh impossible to implant them into the VSIS etc...
EDIT: You may also eventually be interested in this.

Is there anyway that I can improve (wpf) richtextbox performance?

I am writing a text editor and right now if I type very quickly or hold down a key the typing gets very laggy. I was previously working on a winforms version of this program and there was no lag. Would it be possible for me to create a custom richtextbox control and strip out all of the unneeded properties? What would be the best way to fix my problem?
Check out the AvalonEdit open source syntax-highlighting text editor that is used in SharpDevelop. It may give you some ideas. I would also look towards .NET 4 which has been worked over big time in order to achieve big performance gains needed by Visual Studio (which uses WPF for nearly the entire shell.)
In particular, in .NET 3.5, controls did a lot of unnecessary repainting. Check out this blog post about WPF performance tips.

Categories

Resources