Alternative Button controls for winform? - vb.net

Where can I find alternative button controls for vb.net Winform?

Not sure what you mean since you can just choose the font so that it's any size you want and I've not seen anyone else mention this problem so I'm not sure if anyone will have written any specific controls for it. However, if you want to customize the look other options would be to override the OnPaint and draw it yourself or create an image that contains the text and show that image instead of the text.

Vendors that offer button controls with more options than standard WinForms:
infragistics.com
telerik.com
devexpress.com
I'd recommend downloading trial versions and see if you can make their controls do what you are failing to accomplish with the built in button control
Or, you could create an image that shows the text you want and attach it to the button instead of text. This is not as ideal as if you can find a small readable font though!

A little bit late but it could be useful for other:
http://namtuk.com/mycommandbutton_DOTNET.aspx
It supports a lot of button style like Office 2010, Windows 8 Metro, ...

Related

Disabling Mouse Click From Changing Selected Index in ListBox

Background:
In my program, I have a list of commands that I am sending to a robot. Each command is numbered, and I display them in a list box. When my program finishes running each command, I want it to highlight the next line in the list box. Changing the SelectedIndex seems to give me what I want. However, I do not want the User to be able to change the SelectedIndex through mouse click.
What I have tried so far:
Disabling the list box doesn't work because it disables scrolling
WPF: Disable ListBox, but enable scrolling The solution here seems kind of a bit of a hack, and does not quite give me what I am looking for.
ListView - select index only programmatically Intended for C#, not very familiar with C#, so I'm not exactly sure if this solution will work if I try translating it over to vb.net. If this solution is indeed correct, could I get some guidance on how to translate this to vb.net?
I am kind of stuck at this point, it kind of seems like I should be looking for a better solution to this problem. What do you guys recommend? should I continue trying to look for a way to disable the user from changing selected index with mouse click or should I go a completely different route?

Custom Windows Form menu in vb.net

I want to make a Custom Windows Forms menu. Now, when I say "menu", I mean where the "Exit", "Maximize" and the "Minimize" icons are. I have seen in Microsoft Office software that Microsoft have done a custom WinForms Menu, and in many other software. I have done research for months, and searched so much and have not found anything! I have, found some companies which are currently selling Component Packages with Visual Basic, C# and Visual C++ components, however I do not have the money to buy one of these packages, therefore I need help making a custom Windows Form menu.
I would like to make a Custom Windows Form Menu as a "Ribbon" type. So, It will have a "Ribbon Form Menu". However, I do not wish to use any products or packages to do this for me, seen as I don't have money for them.
I have tried a number of ways for creating a Custom Form Menu:
Used a ToolStrip docked to the top of the form, and set the property of "Left to right" to True, and used buttons or labels for the "Exit", "Maximize" and "Minimize" buttons, although, this isn't really ideal, and I don't really want that anymore.
Used buttons at the top of the Form and docked a panel behind it to made it look like a custom form, but again, this isn't really ideal either.
Anyway, please can someone help me make a custom Windows Forms Menu? It would be nice if you could help me make it in the "Ribbon Style" too!
Please note this post is aimed at the Visual Basic Programming language.. I am using Visual Basic! :D
Thanks.
You have a few options, Firstly you can extend the ClientArea into the NonClientArea
and you would end up with something like: http://www.codeproject.com/Articles/44235/Painting-Vista-s-Aero-NonClientArea-in-VB-NET
After doing some digging i found a .net wrapper for the windows 7 ribbon control, I haven't tried using it yet but you might be able to make it work:
http://windowsribbon.codeplex.com/
Alternatively you can create it all from scratch, setting the FormBorderStyle to None and handling the moving/re-sizing etc by your own code.
As well as painting the Ribbon-like controls yourself.
The latter is a lot more work but is the most customizable, I hope this is helpful and gets you on the right track!

Is it possible to resize a DateTimePicker or MonthCalendar Control in VB.net

Essentially I want to re-size my dateTimePicker control to fit its parent container. I have tried to do this both through the Control Editor and programmatically but I simply cannot get the drop down calendar to expand at all. So 2 part question:
a) Is this even possible to do?
b) Is there an easy-to-implement solution to having a good looking calendar that fits its parent field? (i.e. using a data grid or something similar)
Any help or knowledge is greatly appreciated!!!
The size of both objects is fixed and defined by the size of its font. Thus you might change its size by affecting the font size. This works fine with DateTimePicker but does not seem to work with MonthCalendar. After a quick research I have found a pretty curious recommendation on the MSDN forum: "you can consider third party MonthCalendar controls to meet your requirement temporarily".
There are quite a few third-party options (after a really quick search I found this) or you might even create one by your own. I personally haven't ever had any problem with the in-built controls but if the size is so important for you I guess that you would have to search/develop something by your own.
Further recommendation: rely on WPF which does contain a resizable control (DatePicker). I want to highlight here that I don't like WPF at all and that thus this recommendation is because I don't see any other option (inside .NET).

How to resolve Windows Forms designer issue - controls move on debug?

Is there a reason / fix for this weird designer issue (at least, I think it's related to the designer), whereby the controls on the form do not appear as they do in the design window when I debug the application..!
Please see the following two screenshots to demonstrate the problem (note: I have blacked out some of the content of the form, this is not the problem):
Picture 1: Showing how the form appears in the designer view
Picture 2: Showing how the form appears in debug mode
You can clearly see that some of the buttons have moved position on the form.
Note: At first glance, this may appear like a duplicate of: Windows Forms Designer destroys form layout. However, I have not installed any additional tools or components. This is simply a standard "vanilla" build of Visual Studio 2012 on Windows 7 32-bit.
I've also come across this question: UI Controls Overlapping & Fonts Issue in Windows Forms Application. However, I am not using "large fonts", nor am I using any non-standard fonts on my controls (all label and button text is left as default). Still, I can see how this would affect the control positions and will do some more checks in this area.
There's nothing happening within the form's Load method.
I'm also using TFS 2012.
What could be causing this? Is there anything I can do to fix it?
EDIT: I've removed the font property for each label and button control, allowing the system to set the default value. Still no change. Interestingly, if I open the form in design mode, then save it, then close it, then open it again, the buttons have moved... If I do this a few times, the buttons migrate until they're off the form.
OK, I've found the answer, after a bit more fiddling. It seems to be related to the Anchor property on the controls. I made a bunch of changes, testing between each change to see if there was any difference. When I selected all the controls and set the Anchor property to Top, Left, this solved the issue.
I hope this helps someone else at some point!

Washed Out Controls with VB.NET

I recently upgraded my system to Windows 7 Professional. Furthermore, I recently upgraded from VB6 to VB.NET and I've been working with forms and control under the new interface. Controls such as text boxes and tab controls are washed out and very difficult to see.
In my attempt to remedy the situation, I personalized my display by unchecking the box under "Windows Color" entitled "Enable transparency" and adjusting the Color Intensity slider all the way to the right. But no matter what I try to do, I still get washed-out form colors.
Is there a setting for adjusting the default form colors? What am I missing?
It seems to me that you have a couple of choices, all of which you probably won't like.
Change your Textbox BorderStyle from Fixed3D to FixedSingle, this will give you a more pronounced border around the textboxes (no such property on comboboxes though). This will also make your textboxes look a lot more 'flat', which you may not want.
Change either the background of your form or the background of your controls, thereby providing a better contrast between the two. Even slight variations on the same color would help.
Purchase (or make your own) custom controls that have built-in style changing abilities. I use the Telerik controls sometimes. They have the ability to let you change the UI Element's styles, including all kinds of colors and different borders and such. The issue with this option is a lot of these custom controls are overly expensive, although you can find decent ones for fairly cheap sometimes (I found a control set once that was pretty nice for $19).
Whatever you decide to do, you have to remember that your form will look different to users that are using different operating systems than what you're developing on. You noticed a big change when you went from (I'm assuming) Windows XP to Windows 7 right? You have to remember to test your application on all operating systems that your application will be expected to run on. You could design it beautifully on Windows 7 and it may look horrible on XP. You may be able to ignore OSs that are older than XP, but for the time being almost 50% of users still use XP (last I checked).
BTW, there is no setting for adjusting the default form colors... this just happens to be how forms look on Windows 7. I found it an adjustment when I went from XP to Win7, but you get used to it. I very rarely make the background of my controls the same color as the background of my form just because of this... oh, and don't go changing your display, you want to see what your users are going to see - otherwise you'll end up with something that only looks good on your computer. :)