|
"Well, something's going on that isn't normal."
and hence the title of the post.
Going to the application tab and selecting Form1 as the startup object, compiling, and then changing the form name in Solution Explorer allowed compilation without an error.
However, I will note that after changing the form name from Form1 to frmMain as above, in the application tab/startup object, it is still "Form1" and not "frmMain". And while the form name in Solution Explorer is "frmMain", when you click on the form and look at Properties, it is still "Form1"
My Win10 pc and VS are both up to date.
Now here is where it gets even more interesting. Once again start a new project, VB/windows form/desktop/,NET 6, let the solution come up with Form1. Go to Project, Add form, and add a new form. At this time you can call it "frmMain" when it is added. Then go to Solution Explorer, select Form1 and delete it. So at this point, Form1 is gone, and only frmMain remains. Go to application tab/startup and select frmMain as the startup object. Build the solution and then you get:
Error BC30456 'Form1' is not a member of 'test6'.
Now VS is throwing errors on a "form" that has been deleted from the solution.
So I know there are work arounds, but the (somewhat rhetorical) question is: why doesn't VS automatically update all references in the solution when a form's name is changed/deleted?
modified 9-Mar-22 20:22pm.
|
|
|
|
|
Something is broken. I'd try uninstall VS and .NET 6 and reinstalling.
|
|
|
|
|
I gave you the answer yesterday; did you try it?
|
|
|
|
|
Yes I did.
Following the same steps, create a desktop VB windows form .NET 6 project, let the project come up with the standard Form1, then right click on Form1.vb in Solution Explorer, rename as frmMain.vb results in the same error message when you build it after the name change.
|
|
|
|
|
I have used that method on numerous occasions but never had a problem. I suggest you report it to Microsoft.
|
|
|
|
|
Try renaming Form1 before changing the Startup in the project properties.
OR------------------------------
I have also added a form under the form name I wanted (Like Title), again doing this before changing the Startup in the project properties, Save the project exit VS, open VS and load the project. When you go back to Project the drop-down should show the form you added. Select it, return to Solution Explorer and then delete Form1 properties or at least Exclude it from the project.
Both of these have worked for me.
ed
|
|
|
|
|
hi
i need program in visual basic 6 to draw a tooth of spur gear using involute and trochoid curve
|
|
|
|
|
OK, so you're writing this app?
This is not a "for hire" site.
|
|
|
|
|
Can I suggest that you do it in something else other than VB6. Literally anything else. Most people who used to code in VB6 are now long retired - much like that software.
|
|
|
|
|
It is not possible to use anything other than Visual Basic because my graduation project requires drawing in Vb 6
|
|
|
|
|
May I ask which college you are attending? They are teaching a language that went out of support decades ago. I hope they are also teaching other languages as part of the course
|
|
|
|
|
Member 15558264 wrote: graduation project requires drawing in Vb 6 You have got to be joking, if not then you have basically wasted your education time on a completely useless language. It might help to name and shame the college/course teaching such rubbish.
Never underestimate the power of human stupidity -
RAH
I'm old. I know stuff - JSOP
|
|
|
|
|
Not So, Not So!
There are many of out here supporting Legacy systems!
ed
|
|
|
|
|
hello everyone, I have the following problem, it happens that I want to close an example application: Notepad, but the code only works for me if I have the form in the foreground if it is minized, do not close the application, I want to close the application no matter what window I am using , this is my code.
If e.KeyCode = Keys.Escape Then
KilleInventory()
End If
Private Sub KilleInventory()
Dim processesByName() As Process = Process.GetProcessesByName("Inventory")
Dim array() As Process = processesByName
For Each process As Process In array
process.Kill()
Next process
End Sub
modified 3-Mar-22 13:18pm.
|
|
|
|
|
Well one reason it's not closing Notepad is that you're calling GetProcessesByName("Inventory").
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
Notepad is an example, the name of the application is called Inventory, the one I want to close
|
|
|
|
|
Use the name of the executable you're trying to stop, without the ".exe" extension.
|
|
|
|
|
hello, I see your message I was a bit sick, it happens that the code I have works but as long as I don't have the form in the foreground it doesn't close the program that I want to close, to close the program I always have to have the form in the foreground and that's it I don't want
|
|
|
|
|
One has nothing to do with the other. There's something else going on here you're not telling us about.
It does not matter if your app, or the app you want to kill, is in the foreground in order to kill the process.
|
|
|
|
|
I tell you I have a program for online connection, it runs the MAME emulator online, 3 instances open, one the main menu, the second the KAILLERA and the third the game window already executed, then when you press the ESC key the game window will close but it remains it still activates the MAME main menu window but if I go to the main form and press the ESC key it completely closes the emulator
|
|
|
|
|
What does "I have a program for online connection" mean? How does this "online" thing relate to what code is running on which machines?
|
|
|
|
|
Thank you for the time you dedicated, but I already solved the problem that it presented
|
|
|
|
|
The Process.Kill method[^] is a method of last resort. It immediately terminates the specified process without giving it a chance to clean up, and could potentially lead to system corruption.
If you want to close the application properly, you should start with the Process.CloseMainWindow method[^] instead.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Why I need to write the password when I refresh a report viewer 8.5 and visual basic. Net
|
|
|
|
|