看似简单的.NET导入
本文关键字:NET 导入 简单 | 更新日期: 2023-09-27 18:25:38
我需要调用这个方法,但在任何命名空间中都找不到它。
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.creategraphics.aspx
它说它在System.Windows.Forms命名空间和System.Windows.Fforms.dll中。
我使用的是Visual Studio 2010,并将System.Windows.Forms引用导入到项目中。
在顶部,我做了一个导入(sry,我的Java俚语)using FORMS = System.Windows.Forms;
Graphics g = FORMS.CreateGraphics(); // error
错误为:"类型或命名空间名称"CreateGraphics"在命名空间"System.Windows.Forms"中不存在(是否缺少程序集引用?)
谢谢你的帮助。
---编辑---
我正试图从这篇文章的顶部答案运行代码:
GDI+/C#:如何将图像保存为EMF?
---编辑---
根据用户的建议,我正在尝试:
Graphics g = new Graphics();
FORMS.Control a = new FORMS.Control();
g = a.CreateGraphics();
---编辑---
没关系,对不起,我很愚蠢。将在一秒钟内接受。
这:
using FORMS = System.Windows.Forms;
是命名空间别名,而不是类型别名。
命名空间上没有定义方法。
此外,CreateGraphics
是而不是静态的,因此也不能直接在类型上调用,只能在实例上调用。
假设myForm
是Form
:的实例
Graphics g = myForm.CreateGraphics();
在链接示例中,CreateGraphics()
在this
实例上被隐式调用,并假定该调用属于Form
或Control
类型。因此,如果您在控件/窗体中调用它,它将正常工作。
Form frm = new Form();
Graphics g = frm.CreateGraphics();
//you use g to draw on your form frm
这也是您链接到的帖子所说的。查看评论:
var g = CreateGraphics(); // get a graphics object from your form, or wherever
Graphics还有一个FromImage方法,它返回要在图像上绘制的Graphics对象。
CreateGraphics是System.Windows.Forms.Control 上的一个方法你会这样使用它:
//创建控件:Panel Panel=new Panel();
//从控件中获取图形对象:图形=面板。CreateGraphics();
//对新创建的Graphics对象执行某些操作。