日期:2014-05-18  浏览次数:20884 次

c# 两个对话框之间的小问题
如题,现在在一个编辑器上点关于按钮 就显示另一个对话框,网上查了如下的简短代码

  private void About_Click(object sender, EventArgs e)
  {
  FormAbout AboutDialog = new FormAbout();
  AboutDialog.ShowDialog(this);
  }

  FormAbout就是另一个对话框中的name属性,但是我添加了对话框之后这样写就出以下错误

错误 1 找不到类型或命名空间名称“FormAbout”(是否缺少 using 指令或程序集引用?) C:\Documents and Settings\Administrator\My Documents\Visual Studio 2008\Projects\SimpleEditor\SimpleEditor\SimpleEditorForm.cs 137 13 SimpleEditor

问题好像不难,不知道忽略了哪一块,请各位指明一下,感激不尽!!!!

------解决方案--------------------
可能是你对窗体重新命名造成的。

在右边的项目资源管理器,展开FormAbout.cs,有一个FormAbout.Design.cs的文件,打开它。

里面有 class XXX : Form { ... },看看这个名称是否不是FormAbout,如果还不行。建议删除重新创建窗体,然后记得使用重构-重命名去修改类名,而不是直接在代码上修改。
------解决方案--------------------
顺便说一下,看头像我想起来你昨天也提过一个类似问题。其实都是很小的问题。最好找一个人手把手教你下,或者找本书学习下。新手一开始自己摸索不得要领,磕磕绊绊,最后兴趣都没了。
------解决方案--------------------
建立一个新的类FormAbout,在同一个项目之下
------解决方案--------------------
你的两个窗体是不是放在了两个不同的WinForm项目下面(一个项目叫FormAbout,另一个叫Editor)?所以导致命名空间一个是FormAbout,另一个是Editor。

你能不能就建立一个WinForm项目,然后把两个窗体都添加到该项目下面呢?

我刚刚试验过,加载同一个项目下的两个窗体用你下面的代码调用是可以的。

FormAbout AboutDialog = new FormAbout();
AboutDialog.ShowDialog(this);


还有我也建议你像楼上caozhy说的那样,找本书,按照上面的实例先熟悉一下。
------解决方案--------------------
你看一下FormAbout 的命名空间是什么?就是是看你FormAbout 窗体namespace xxx
然后就这样写
xxx.FormAbout AboutDialog = new xxx.FormAbout();
AboutDialog.ShowDialog(this);