I have written up troubleshooting documents for my project and would like them included in my program. I remember in VB6 there was a very easy way to do this with a control, where it already has the help document tree set up on the left and you just set it to point to certain files.
Does something like this exist for .NET? I am aware of the HelpProvider control but as far as I know this just puts in tooltips and opens documents on a button press?
Thanks for any help. :)
To the best of my knowledge no such interface exists in Visual Studio, at least in the express editions that I have installed here. As your investigations showed you, the only way to provide help is to add a HelpProvider to a form and set its HelpNamespace property to your HTM/CHM file. Then on each control you can manually set the HelpKeyword, HelpString and/or HelpNavigator properties. Setting the last option controls how the values of HelpKeyword or HelpString are passed to the external help file.
Related
I am using VB.NET in Visual Studio Community 2017. I noticed that in some cases the list of available properties and methods for an object is incomplete.
One example can be seen here:
As depicted, I want to use the RowCount property of the dgv object, that is of type System.Windows.Forms.DataGridView. You can see, that right above it the property is there and working fine, I can just type it by hand. It just takes a second or two, before the background compiler (for lack of better term) acknowledges it as correct. The behavior messes up the typing flow, since often IntelliSense autocorrects what it perceives as typos.
Note: This is not exclusive to the shown property. I noticed it for other examples, and also in function calls and other random places, but I could not find a clear methodology of what is missing and what isn't.
Looking around I found e.g. this question, however it deals with a completely different problem.
Is this just a bug in Visual Studio (and if so, is it reported somewhere?), can someone confirm this, and does someone know of a fix?
Followed your steps and I got the same result like yours, I already reported this issue to the VS Product Team, please check this: VS 2017--VB: the intellisense for the DataGridView control not works like VS 2015, you can vote it or add a comment, then we need to waiting for the confirmation from the VS Product Team, thank you for your feedback.
Meanwhile, I tried it in C#>Windows Forms application and the intellisense works fine just like the VS 2015.
Albano Gheller posted an answer on the Visual Studio Community page.
To quote him and the required step for a fix:
I've fixed the problem in this way:
1. I've exported my settings from Tool - Import/Export settings
2. I've set the property HideAdvancedMembers = true inside
<ToolsOptionsSubCategory name="Basic" RegisteredName="Basic" PackageName="Text Management Package">
because C# has true and works
3. I've imported this modified settings.
So to summarize:
Find the part: <PropertyValue name="HideAdvancedMembers">false</PropertyValue> in the exported settings document's Basic ToolsOptionsSubCategory.
Change this to <PropertyValue name="HideAdvancedMembers">true</PropertyValue>, save, and then reimport the settings.
I don't know why hiding members leads to showing more members, but whatever ;-)
In supplement to Jens answer/to save anyone else some work:
Take the following XML, which is the minimum set of settings required to flip the problem attribute:
<UserSettings>
<ApplicationIdentity version="15.0"/>
<ToolsOptions>
<ToolsOptionsCategory RegisteredName="TextEditor" name="TextEditor">
<ToolsOptionsSubCategory PackageName="Text Management Package" RegisteredName="Basic" name="Basic">
<PropertyValue name="HideAdvancedMembers">true</PropertyValue>
</ToolsOptionsSubCategory>
</ToolsOptionsCategory>
</ToolsOptions>
</UserSettings>
Save it on the desktop in a file called a.vssettings
Go to Tools.. Import and Export Settings
Choose Import
Choose No, just import
Browse for the file you saved, do Next, Finish
I presume that there's a bug in VS where they got the boolean logic upside down for the intellisense, and advanced members are hidden when this attrib is false and shown when it's true
I want to be able to use things like the Solution Explorer window or the Properties window from Visual Studio in my Windows Forms application. I am not sure what the term for it is so I cannot look it up.
Have you tried using a normal panel? You might want to code all the contents of the solution explorer and the properties panel. The panel can be docked from its properties. Then, for example, if autosize is disabled, you write
If ...... Then
_something_.Autosize = false
End If
But that's a TON of code!
I don't think you can reproduce the solution explorer dynamically nor the properties panel. Besides, do you need to change all properties of an object at once? It looks like you are trying to remake visual basic dynamically. Well, that can't happen. Not with the current versions of vb.net, at least.
You should try involving things with panel that appears on your screen with all the settings in it, but like TGamer, there is a lot of code to do. But start with showing and hiding the panel to start with. Maybe try importing the settings through a VS file stored somewhere in your directory.
I am new to framework 3.5. I noticed that when creating a web content form, it creates a aspx.designer.vb page in addition to the aspx.vb page. Can anyone explain the difference to me and the purpose of each?
Can anyone explain the difference to me and the purpose of each?
aspx.designer.vb
Is the designer related autogenerated code by the framework and it contains necessary code for the controls you have placed in your form in designer surface. If you want you can make changes to your controls look and feel using the desinger property window (or) even using this designer file.
aspx.vb is the file where the actual server side code block is present. Like your controls event handler methods etc.
consider going through the MSDN documentation for getting a better understanding on the same.
I have noticed it too..
I think the .vb file has the code you have written.. and the designer.vb file has options on how to display your code in the screen..
You can open the files with Visual Studio or NotePad++ or just Notepad to see the difference..
I am trying to add a simple windows form to my VB.Net project. I have used the designer to design the form how I want it with buttons, a text box and a Timer. The problem is when I try to view the code, there is only an empty class that looks like this:
Public Class MCastMain
End Class
I have set the application type to a windows form application in the project properties, and I have made a successful build of the application since doing so. I have been scrawling the internet and this forum for about half an hour now and I can't find one other person who is having this problem, nor can I find a tutorial that mentions any special steps that must be taken beyond what I have done. This is the first project I have done in Visual Studio.
I know this is probably stupid simple, but I have no idea what to do. Any help is appreciated as always.
Forms comes as partial class meaning the code is separated in two files.
The "empty" code you shown is from "mcastmain.vb" (if the file is named as the class).
With that one there is a (probably hidden) file "mcastmain.designer.vb" file which contains the generated code by the designer ; and is not meant to be modified (as any designer change will rewrite the file).
To show the hidden files you have to look in the solution explorer on the button on it's top there should be a "show all files" button. (it may be possible to do the same via the menu but I don't have VS right there to be sure where)
For some reason while I program in Microsoft Visual Basic 2010 Express OR VS Express for Desktop my controls seem to change style for an unknown reason.
This screenshot is in the DESIGN part of my programming:
And here is when I actually run the program:
I don't understand how it can change like that, I've tried changed properties on all the controls, but they just keep changing to whatever style that is...
I can update with more screenshots if need be.
Thanks
Answer given via a comment:
Using Application.EnableVisualStyles() Fixes the whole thing.
Thanks to #Plutonix for the answer!