大家好,我是华山自控编程朱老师

前几天一个学员在学习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窗体相关知识点:

  1. Form.IsMdiContainer 属性

命名空间:

System.Windows.Forms

程序集:

System.Windows.Forms.dll

获取或设置一个值,该值指示窗体是否为多文档界面 (MDI) 子窗体的容器。

注解

此属性将窗体的显示和行为更改为 MDI 父窗体。 当此属性设置为 true时,窗体将显示带有凸起边框的沉没工作区。 分配给父窗体的所有 MDI 子窗体都显示在其工作区中。

关闭 MDI 父窗体时, Closing 所有 MDI 子窗体的事件都会在引发 MDI 父窗体 Closing 的事件之前引发。 此外, Closed 所有 MDI 子窗体的事件都会在引发 MDI 父窗体的事件之前 Closed 引发。

  1. Form.IsMdiChild 属性

命名空间:

System.Windows.Forms

程序集:

System.Windows.Forms.dll

获取一个值,该值指示窗体是否为多文档界面 (MDI) 子窗体。

属性值

Boolean

如果该窗体是 MDI 子窗体,则为 true;否则,为 false。

总结如下:

  1. 调试必备技能,按F1按键,查看帮助文档:https://learn.microsoft.com/zh-cn/dotnet/api/system.windows.forms.form.mdiparent?view=windowsdesktop-7.0#system-windows-forms-form-mdiparent。
  2. 错误提示关键词 进行百度。

最近很多小伙伴找我学习,然后我根据二十年自动化控制经验精心录制了全套C#,机器视觉,运动控制卡原创教程,需要的同学,一键三连就可以领取,以下是领取入口:

点击领取上位机编程全套入门教程+工具https://s.pdb2.com/pages/20230307/CnORDNt9HimMjNS.html

新手学习C#常见技能_MDI窗体相关推荐

  1. 掌财社:新手学习嵌入式用什么语言编程?

    随着AI智能产品的出现,市场上对于嵌入式开发人员需求也越来越多,嵌入式系统成为了一个很时尚的名词,应用范围也相当的广泛,很多人都想入行嵌入式,那么,学习嵌入式用什么语言编程?这个对于新手来说是一个比较 ...

  2. python难不难学-超级适合新手学习的python教程,入门其实不难?

    在互联网时代很多人都希望掌握一个与互联网相关的知识,比如Python的知识就非常重要,因为无论是操作新媒体平台还是去制作一些软件,我们都需要掌握一些Python的技巧,而且学习一些Python的知识, ...

  3. c# 学习笔记 (2) 窗体之间互相调用的方法

    c# 学习笔记 (2) 窗体之间互相调用的方法 创建一个winform工程 创建两个窗体 一个子窗体,一个父窗体,这里为了演示,子窗体和父窗体上都有一个文本框和按键,点击任意一个窗体上的按键,窗体上文 ...

  4. Java新手学习路线

    ------Java新手学习路线------ 第一阶段:J2SE(java基础部分) java开发前奏; . ①计算机基本原理,Java语言发展简史以及开发环境的搭建,体验Java程序的开发,环境变量 ...

  5. 怎么学python入门?python新手学习路线

    怎么学python入门?python新手学习路线,Python入门应该了解一些基本的计算机编程术语.Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言,Python 的设计具 ...

  6. 深圳云计算培训:新手学习云计算的规划

    深圳云计算培训:新手学习云计算的规划 云计算是一种基于互联网的计算方式,要实现云计算则需要一整套的技术架构去实施,包括网络.服务器.存储.虚拟化等等. 云计算目前分为公有云和私有云.两者的区别只是提供 ...

  7. 【编码错误】新手程序员常见的编码错误

    新手程序员常见的编码错误 文章目录 前言 一.没有了解需求就开始写代码 二.不沟通交流就开始做需求 三.代码素养差 四.编码问题总结 4.0不注重代码格式 4.0.1空格 4.0.2换行 4.1随意命 ...

  8. 在线峰会 | Global Azure x AI 在线学习 AI 应用技能

    四月的樱花开得烂漫,春天已经到来,虽然我们无法回到过去,这何尝不是一个新的开始?还记得去年的Azure Bootcamp活动吗?我们并没有销声匿迹,相反,这次我们跟上Global Azure的节奏,一 ...

  9. 给新手学习MySQL的建议

    前言: 经常有小伙伴问我:MySQL 应该怎么学?小白如何入门?我在想,我当时是如何学习 MySQL 的,是否可以给到初学者几点建议,本篇文章,笔者将以自己的经验及认知,谈谈我对新手学习 MySQL ...

最新文章

  1. TCP 客户端程序开发
  2. matlab复数方程组,【求解】matlab求解非齐次方程组,但是系数矩阵是复数,求帮忙...
  3. 一个稍微复杂的VTK程序
  4. 主流Java学习路线
  5. Libre OJ 「BalticOI 2013」非回文数 数位dp
  6. Java开发常用命名规范
  7. 唐山师范学院计算机科学与技术地址,2021年唐山师范学院有几个校区,大一新生在哪个校区...
  8. 洛谷P1007 独木桥(贪心)
  9. leetcode894.AllPossibleFullBinaryTrees
  10. 关于RMAN recover 过程的讨论
  11. Burp Suite Scanner Module - 扫描模块
  12. 三星LG纷纷在越南设厂:产能或逐渐从中国转移
  13. Win7 计算机中丢失api-ms-win-core-path-|1-1-0.dll
  14. 查看mysql补丁版本_Oracle 数据库 打补丁 Opatch 如何查找最新版本
  15. php短信接口怎么用,php短信接口接入详细过程
  16. 英文经典老歌列表~~~~
  17. 7-9 龟兔赛跑 (20分)
  18. 【C语言】函数的数组传参
  19. 小米5x android auto,小米 5s Plus重生——伪装Pixel XL
  20. 前端优化首屏加载速度

热门文章

  1. 什么?都快过年了,你还没有买鞭炮
  2. Processing编程学习指南导读
  3. 记一次服务器宕机原因排查(oom内存溢出)
  4. 二元函数对xy同时求导_矩阵求导与矩阵微分
  5. java-php-python-ssm养老院管理系统计算机毕业设计
  6. 疯狂猜成语-----最终发布版的总结
  7. 中职、中专、技校、职高的一年级、二年级应该叫什么?
  8. html代码3D滚球游戏代码,滚球控制系统代码
  9. 苹果4是android吗,为什么安卓手机只能用两年,而苹果可以用四年?
  10. 淘宝退货业务 活动图