[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [DotGNU] System.Windows.Forms question

From: Oscar Papel
Subject: RE: [DotGNU] System.Windows.Forms question
Date: Tue, 03 May 2005 05:01:08 +0000

I get this error:

Ducks-Computer:~ duck$ cscc -o example.exe example.cs
example.cs:8: `MessageBox' is not declared in the current scope
example.cs:8: called object is not a method or delegate

MessageBox is not declared because you didn't provide the compiler with the reference to the assembly where it is located.

You are confusing namespaces with assemblies.
this is a common beginners problem.

The line "using System.Windows.Forms" specifies that this class references classes from this namespace. Without this line, you would need to type:

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

so the using line allows you a shorthand way of using classes outside your own namespace.

you need to use the following compiler command:

cscc example.cs -o example.exe -r System.Windows.Forms.dll

This provides the compiler with the assembly that holds the implementation of the System.Windows.Forms namespace.

It's confusing because, in this case, the namespace and the assembly have the same name. It's even more confusing because Microsoft's compiler bends the rules and allows you to "forget" the reference.

Finally, the implementation of System.Windows.Forms.dll is incomplete at this time and there are GUI issues with the Mac version of the pnet platform so, for the time being, you will not be able to use the Mac and pnet to do what you want.

Hope this helps,


reply via email to

[Prev in Thread] Current Thread [Next in Thread]