C# 名称空间的奇怪问题

C# 名称空间的奇怪问题,c#,asp.net,winforms,using-statement,C#,Asp.net,Winforms,Using Statement,我正在尝试使用System.Drawing.Color命名空间。我无法在课程顶部定义它: 但是,我可以在类中引用它。也就是说,我可以使用这行代码,它可以工作: txtBox.BackColor = System.Drawing.Color.LightPink; 。。。但我宁愿能做到这一点: txtBox.BackColor = Color.LightPink; 如果是缺少引用/dll的问题,为什么我可以在代码中引用System.Drawing.Color?这是因为它不是名称空间System

我正在尝试使用System.Drawing.Color命名空间。我无法在课程顶部定义它:

但是,我可以在类中引用它。也就是说,我可以使用这行代码,它可以工作:

txtBox.BackColor = System.Drawing.Color.LightPink;
。。。但我宁愿能做到这一点:

txtBox.BackColor = Color.LightPink;

如果是缺少引用/dll的问题,为什么我可以在代码中引用System.Drawing.Color?

这是因为它不是名称空间
System.Drawing
是名称空间,
Color
是结构(
struct


编辑:另外,我建议使用这样的产品,它几乎可以自动纠正这样的错误。重弹规则

System.Drawing.Color是一个结构。
命名空间是System.Drawing

您是否在项目中添加了对:
System.Drawing
的引用
引用了

您必须将其添加到引用中-不知何故,它丢失了


然后您必须使用System.Drawing声明
在C#代码的顶部,然后可以调用
Color.LightPink

原因我能想到为什么可以在usings下拉列表中过滤System.Drawing:

  • 它已经被使用了(--nah,可能没有,但无论如何)
  • 您使用的是ASP.NET服务:

  • 它实际上是一个结构,而不是一个类。这是一个什么样的项目?它的目标是什么?我有一个奇怪的问题。事实证明,如果我只是在类的顶部键入using语句,即使它不在我的Intellisense菜单中,它也可以工作。听起来好像我没有添加引用。当尚未添加对System.Drawing的引用时,使用VS 2010,我无法在intellisense中看到它。此外,当我在正常代码部分键入“Color…”时,intellisense不起作用。但是,代码编译和运行都很好。我在过去也经历过这种情况,然后我重新启动了项目和VS,并对其进行了修复……如果您查看Intellisense下拉列表,System.Drawing没有显示。@Inuyasha:Intellisense没有显示
    System.Drawing
    ,另请参见
    System.Data
    @Javed:这是错误的。我仍然可以在我的intellisense中看到它,即使它已经被声明。intellisense下拉列表中缺少绘图。问题是他没有引用它,或者不小心从引用中删除了它。我认为我的问题,当归结起来,最终证明是某种缓存问题,而不是其他任何问题。感谢@Roy Dictus、@Inuyasha和@0A0D的帮助。