大家好,我是华山自控编程朱老师
前几天一个学员在学习C#与MDI窗体交互时。一直提示CS0246:未能持到类型或命名空间名”Form2(是缺少 using指令或程序集引用7)显示可能的修补程序(Alt+ Entere或ct+,
截图如下:
不知道什么原因。
其实很多初学者在学习vs实例化类时,都会遇到类似的问题,不知道是缺少动态库system.dll等问题,还是vs创建项目的问题。下面我们就对这个问题进行详细分析。
问题分析:
该同学的目的 其实是想做mdi窗体,由窗体1调用窗体2,将窗体1设置为mdi父窗体。
在实例化窗体2时发现没有这个类。
这个错误其实提示很清晰了。对于老司机来说,可能一下就知道问题点在哪里。但是对于新手来说,看到这个语法错误,还是会一筹莫展。不知道如何去定位问题。
接下来 我就教该同学如何去定位和解决问题:
首先:在创建窗体应用程序是,项目默认是只有一个窗体的,即窗体1:form1。窗体form2是需要开发人员手动添加的,所以我们需要进行二步:
第二步:添加form2窗体:步骤如下:在工程右键添加项,选择windows窗体,如下图所示:
最后,添加window窗体以后,自动会命名为form2。该同学再次查看程序,发现错误已经解决了,如下图:
下面,该同学继续编写mdi窗体的其他功能:设置父窗体。报错如下:
很明显,通过屏幕,我们知道是form1的midparment属性没有设置成true。该同学纠正该错误后,继续运行。这次终于成功了:
通过以上调试方法。该同学学会了C#和mdi交互的基本技能。
另外在衍生下mdi窗体相关知识点:
- Form.IsMdiContainer 属性
命名空间:
System.Windows.Forms
程序集:
System.Windows.Forms.dll
获取或设置一个值,该值指示窗体是否为多文档界面 (MDI) 子窗体的容器。
注解
此属性将窗体的显示和行为更改为 MDI 父窗体。 当此属性设置为 true时,窗体将显示带有凸起边框的沉没工作区。 分配给父窗体的所有 MDI 子窗体都显示在其工作区中。
关闭 MDI 父窗体时, Closing 所有 MDI 子窗体的事件都会在引发 MDI 父窗体 Closing 的事件之前引发。 此外, Closed 所有 MDI 子窗体的事件都会在引发 MDI 父窗体的事件之前 Closed 引发。
- Form.IsMdiChild 属性
命名空间:
System.Windows.Forms
程序集:
System.Windows.Forms.dll
获取一个值,该值指示窗体是否为多文档界面 (MDI) 子窗体。
属性值
Boolean
如果该窗体是 MDI 子窗体,则为 true;否则,为 false。
总结如下:
- 调试必备技能,按F1按键,查看帮助文档:https://learn.microsoft.com/zh-cn/dotnet/api/system.windows.forms.form.mdiparent?view=windowsdesktop-7.0#system-windows-forms-form-mdiparent。
- 错误提示关键词 进行百度。
最近很多小伙伴找我学习,然后我根据二十年自动化控制经验精心录制了全套C#,机器视觉,运动控制卡原创教程,需要的同学,一键三连就可以领取,以下是领取入口:
点击领取上位机编程全套入门教程+工具https://s.pdb2.com/pages/20230307/CnORDNt9HimMjNS.html
今天的文章新手学习C#常见技能_MDI窗体分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:http://bianchenghao.cn/30334.html