MessageBox Issues

C

Curt Emich

I always thought writing a simple diagnostic message in a message box would
be pretty simple. Not in .NET.

First, I wrote this amazingly complex piece of code:

MessageBox.Show("yer mama")

It wouldn't even complile. "Gee...", I mused. "Maybe there's no reference
to that method in my project". I muzed correctly. So I added a reference
to System.Windows.Forms, which is where our beloved "MessageBox" method
resides.

Nothing. So at the top of my file, I wrote:

Imports System.Windows.Forms

Still, it wouldn't compile. Finally, I prefixed my call to MessageBox like
this:

System.Windows.Forms.MessageBox.Show("yer mama")

It compiles now, but I never see "yer mama" anywhere on the screen. It's
inside this function:

Private Sub DropDownList1_SelectedIndexChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
DropDownList1.SelectedIndexChanged

System.Windows.Forms.MessageBox.Show("Yer mama")

End Sub



Maybe it's just not firing this sub, but that's kinda why the diagnostic is
there. I wanna find out if it is. Does this really have to be so
complicated?

I've run into situations in the past where I've had to spell out simple
methods by fully qualifying their namespaces. Why is that? Shouldn't it be
enough that they're listed under "references" in the solution explorer? Or
even written manually at the top of the file?

Any insights you can give me would be greatly appreciated.
 
J

Jeremy Todd

It wouldn't even complile. "Gee...", I mused. "Maybe there's no reference
to that method in my project". I muzed correctly. So I added a reference
to System.Windows.Forms, which is where our beloved "MessageBox" method
resides.

Nothing. So at the top of my file, I wrote:

Imports System.Windows.Forms

Still, it wouldn't compile. Finally, I prefixed my call to MessageBox like
this:

It should. What compiler error message did it give you? That should be
enough.
Maybe it's just not firing this sub, but that's kinda why the diagnostic is
there. I wanna find out if it is. Does this really have to be so
complicated?

If you want to tell if the event handler is being executed, a breakpoint
would probably be better. Also, you might want to think about the
Debug.Write and Debug.WriteLine methods, in the System.Diagnostics
namespace. You don't have to add any extra references for those, and the
namespace is imported at the project level by default. Just make sure
you're targeting a Debug build.
I've run into situations in the past where I've had to spell out simple
methods by fully qualifying their namespaces. Why is that? Shouldn't it be
enough that they're listed under "references" in the solution explorer?

There are a lot of namespaces, and some of them have identical class
names. If everything was automatically imported, it would clog up the IDE
and lead to a lot of ambiguity. Odds are your code would have to use the
fully-qualified name -more- that way.

Jeremy
 
S

Steve C. Orr [MVP, MCSD]

As the namespace implies, the MessageBox method is for windows forms
applications.
In an ASP.NET environment your client is a web browser, therefore you should
use client side code such as javascript to display a message box on the
client.

Execute a line of code like this when you want a message box to be
displayed.
(This writes out the necessary client side javascript to your HTML page to
make the alert pop up as soon as the page is sent to their browser.)

RegisterStartupScript("startupScript", "<script
language=JavaScript>alert('This is my message.');</script>");

Here's more info:
http://msdn.microsoft.com/library/d...mWebUIPageClassRegisterStartupScriptTopic.asp

Here are a couple controls you might find to be useful:
http://www.metabuilders.com/Tools/ConfirmedButtons.aspx
http://www.jttz.com/msgbox/index.htm
 
C

Cor Ligthert

Hi Steve,

I think that I would not have seen this, however I look to it from the
languages.vb group, when it was in the aspnet group, I would have seen.

I message this to point the OP hat this message is in my opinion the right
one, there are so much which are for the windowform, that he can become
confused.

And have nothing to add.

Cor
 
C

Chris Botha

Maybe it does not like "yer mama" in the message box?
Curt, looking at your example code below, your message box is in the event
firing on a DropDownList1, which is an ASP component, so you are talking
about using MessageBox in an ASP page, right? If so, it won't work.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,008
Latest member
HaroldDark

Latest Threads

Top