IDE :: Windows Forms Classes Appear As Class Modules Not Form Modules In Project Explorer
Jan 7, 2011
Yesterday I opened Visual Studio (2008 v 9.0.30729.1) and all the winform classes in my project display with class module icons with the little 'VB', instead of form module icons with the little form icon!
When I double click on a form module, the form designer doesn't open, just the code module.
When I run the project, it runs fine. There are no errors. The project builds fine.
I did Project --> show all files, and I can see the designer and resx files below the form module which doesn't look or act like a form module.
My VB project is large enough that it requires several files. It was originally developed as a Console App and I created each file as a MODULE. All modules could use subroutines, data structures and constants from other MODULES and everything worked fine. I needed to add basic windowing to the app and this required that the app be converted from a Console App to a Windows Forms App. The main window is Form1 which is not a MODULE but a CLASS. The problem is that some MODULE based functions cannot access subroutines, data and constants that are defined within the CLASS Form1 unless they are incorporated into the CLASS file and this makes the CLASS file very large. If I add a new Class file to the project, it also cannot interoperate with Class Form1 in the same way that multi-MODULE code interoperates.
How does one spread CLASS code across several files and still allow it to interoperate as if it were in a single file? Alternatively, how does one create several CLASS files that operate the way multiple MODULE files operate.I am sure that there are all kinds of best practices that I am violating but the goal to to get some prototype software working and interfaced to some lab equipment.
I have a project with several forms and modules. The problem which I am mentioning revolves around 3 items : 2 forms (e.g. form1 & form2) and a module. (Using VB.NET 2008, .net 3.5)
Now I have a structure declared in a module. I have a variable of that in form1 and form2.
'Module Code
Structure MScanner Dim Indicator() As MuseIndStru Dim FName As String
[CODE]..............
Now what is happening is, I am passing structure variable MScan (Form1) to Form2 (see function of form2 InitFilter) byvalue. Then in form2 I am changing value of a copy of the structure (see variable MS being changed in a private sub). But then when I close form2, form1's variable of MScan also get the value of variable MS (declared in form2).
I don't understand as this is not suppose to happen. I have reloaded my project as well but this problem is there. Why is my form1's variable value MScan being changed by form2.
I have created a class (pasted below in case I did something wrong) for which I want to create an instance that is usable across forms/modules. I can create an instance of the class in a single form/module no problem via DIM User as New User but how do I go about create a public instance accessible from all parts of my program?
What advantage is there, if any, to using Modules rather than classes in VB? How do they differ, and what advantages/disadvantages are there in using modules? In VB or VB.NET, I use both.
I have a Module in VB.NET called Math.vb and in that module, I created a Function that displays returns the percentage of one number to another. I have a Sub that calls the Function and I call the Sub from my Form1 class. Is there an advantage/disadvantage to putting the function in the class or the module?
This probably sounds daft, but im struggling to get to grips with Classes/Modules/arrays and objects, as well as there uses and what they are, and yes im still coding some how i hear you cry.The reason i ask is because Ive got a load of Dim's in my program that are the same giving locations of files and folders and wondered can they be used as a module that i can alter after the program is built, incase of folder locations being wrong or moved, manually correct after install.
Is it considered an acceptable practice to use Modules instead of Classes with Shared member functions in VB.Net?I tend to avoid Modules, because they feel like left over remains from VB6 and don't really seem to fit in anymore. On the other hand, there doesn't seem to be much difference between using a Module and a Class with only Shared members.
I've read that modules are basically shared classes. For a module though, you can call a method directly without prefixing the module name. So I can do this: methodTest("abc", mod1Enum.enum2)But for a class with shared members I have to fully qualify the method call, and in this case fully qualify the enum:[code]In our conversion from VB6 to .NET the need to fully qualify all calls like this might be an argument for us to bring our VB6 modules over as modules instead of converting them to classes.
I have a big project in vb.net with over a 400 forms and datasets and 100 reports. I deploy it using clickatonce. I want to split it into modules so each user will use the core project plus the modules his department needs, so when I make an update to a module he will take only this update and not the whole project as I am doing now.
I am fresher in vb.net but I need some samples on structure which contains fields,method,property and events and if some one help me regarding private,freind, protected freind type class etc. In addition to that I know how to create class and modules but i don't know where I create structure and how etc.
I'm working on a project that is based on modules and plug-ins. Any of these modules might alter some part of a database in various ways. One module might write or edit one table, while another module might write or edit other tables.
The modules all communicate via events raised on a common object. Therefore, when a person using module A enters a certain change that would edit data managed by module A, the module raises a Proposed Edit event such that all other modules that might be affected by the edit will have a chance to accept or reject the edit. If no module rejects the edit, then module A makes its changes and raises an Edit event, at which time all the other modules make any changes they need to make.
That's the basic pattern, but there's a problem. If I don't share a transaction during the edit, then module A can successfully edit their tables, but module B might fail to edit their table. In some cases, the failure by B should rollback the changes made by A. Therefore, it would make sense for module A to share an open transaction for all the other modules to use while making their changes, and this gets either committed or rolled back, depending on whether everyone was successful, or not.
The problem with that design is that a person could write a new module C that had a bug which caused it to fail to update correctly. That would cause it to signal that the transaction failed, such that all the other modules, which had been working up to that point, would no longer work because this new module kept canceling the transactions. In other words, the modularity of the program has now been lost. Every module depends entirely on every other module that even cares about its data.
In most cases, what would be lost if certain modules failed would be minor, whereas what would be lost if other modules failed would be catastrophic, as there would be no way to re-create the lost data with any kind of ease.As long as this explanation is, it may not be sufficient. At least it might start a discussion. Do the actions of all the modules act in the same transaction, or should they be left to succeed or fail on their own?
I have a frm_Main, which starts a thread. The thread then goes and calls a module, which has a thread.sleep() in it. This causes the mouse to freeze up while it sleeps, despite being called by the child thread. I thought this would have be on the thread time-slice? However it is causing my form to freeze for the sleep duration.
I was a VB6 programmer. And back in the day global variables, functions and subroutines were put in a module. The program started in the module using a sub named Main(). Now in vb2010 it looks like using sub Main() is possible only for console apps, which is not what I want, I'm still trying to write a windows app but it looks like everything has to go at the top of the starting form?? How is this good coding practice? Shouldn't public vars and functions be in their own module?What is considered best practice?Are there any links that would walk me through the differences between vb6 and vb2010?
Alright, first things first i'm sorta new to VB .NET i know VB6 like no one's business and am looking to upgrade but to do that i need to know how to be able to access form controls in modules, and i've done that, but i'm not sure if its right, here is my code frmMain:
Option Explicit On Option Strict Off Friend Class frmMain
I am having this strange thing happen where I have a Module that contains multiple classes in my project. In the Solution Explorer, the module shows up as a Windows Form and if I double click on it to open it, it tries to open the Form Designer. What could be causing VS to think that it is a Windows Form instead of a module?
If it is possible, I want to create a file (sort of module) which my MDI-Form can import and see it as a child and adds the name of the child in the menu of the Parent
using bas files in visual basic 6 because I could write functions or subs that I would just easily use over and over rather than keep rewriting code. Do these work in the same way in .net? If anyone has any good info on modules like how to start writing functions and subs. Assuming of course that they work like vb6 bas files. If I were to make this sub a function how would I do this and I am assuming the benefit of this specific example would be a Boolean to check if if saved the text file or not?
Code: Public Sub SaveList(ByVal List As ListBox, ByVal filename As String) Dim i As Integer Dim w As IO.StreamWriter
During the design of a new application I was wondering if using a module with properties is considered to be a bad practice. Some example code:
Module modSettings public property Setting1 as string public property DatabaseObject as IDatabaseObject End Module
The code above is just an example to emphasize my question. In the past, this structure was used a lot in VB6. In the past I used it as well in my .NET projects.
But nowadays with buzzwords like Dependency Injection, Testability and Separation of Concerns the above structure smells bad. I can't really describe why, but it just feels wrong. I must admit I'm not very familiar with the keywords above, yet.So I'm wondering whether the above code really is a bad practice. If so, what would you use a Module for?
I have finished creating the code for my client/server application although both parts currently execute modules/in console(this was for testing purposes).I am now looking at making both parts of the program completely invisible (they will eventually be executed as a Windows service upon startup). How do i go about this? Does the code need to be copied in to a "Windows Service" project, or is there a way I can hide both of the modules upon execution?
I'm using Visual Studio 2010 and coding in VB.NET.
My problem is that I've collected all the modules I've written and intend to reuse and placed them in a separate folder. When I want to add a module from the above folder to any given project, it takes a copy of the module and places in the project's source code folder, instead of referencing the module in the folder containing all the other modules.
Is it possible to include a module in my project and leave it in the folder with all the other modules, so that when I improve upon a module, it'll affect all the projects that uses/references that module. Instead of me having to manually copy the new module to all the projects that uses/references the module. Right now I have multiple instances of the exact same module that i need to update manually when I improve code or add functionality?
The problem I am having is that if one of the things in the module fails such as if the users graphics card does not have any onboard memory then it will fail.This is causing everything else to fail aswell.I am very new to visual basic so ifyou could please excuse me if I have made any stupidly obvious errors and any suggestions are welcome
I have been brought onto a project where a large amount of code has been written. Most of the code is appearing in the MainWindow.xaml.vb file (yes, this is a wpf project but I think the question is appropriate for this forum). The folks who developed the previous versions in Visual Basic 6 told me that they organized their code by using Modules. I was not aware of this practice and I have actually never even used modules. Can I use modules in this way so that I can logically group different areas of functionality within the application? Or is there a more preferred method?
I have read many many forums regarding the error message "No symbols have been loaded. The breakpoint will not be hit." I had this error message come up a while ago, so I opened a previous version of my project, and copied the newest version of the code I am working on into that project. Then when I debugged, everything worked fine...for a while. Then I got the error message back, so I did the same thing again, and who would have guessed the error message returned, out of the blue. I am working on the program and it works fine, then suddenly one time when I try to debug with a breakpoint I get that message again. So I did some more research and I found a post that recommended looking at the Modules window while debugging (under debug > windows > modules). And in this window under my project, it said "Cannot find or open the PDB file". However, I compared this to the previous version of the program, that works fine, and I noticed that under Path, for my project, the path that I see is not the path where my project is located. So what I am asking is can someone please tell me how to change that path to the correct path where my files are actually located? I believe that if the path is correct, it will find and load the symbols.
I have learned that if I want my crystal reports to work on the client machines when they install my program, I have to include some merge modules. I have VB .Net 2003 and Crystal Reports 10. The merge modules that are included with VS Studio .Net 2003 are not included in the program software I have. Is it possible to download these merge modules somewhere else and use them with my software? If so, can someone give me a link on where to get them?