机房收费系统之【只允许一个MDI窗体 错误:426】 标签: vb 2014-08-15 10:36 1149人阅读 评论(23)
机房收费系统的主窗体是MDI窗体,为了在这个窗体上添加控件,所以我们在窗体上添加了picture控件,在MDI窗体中,子窗体实际上位于MDIClient里,即子窗体的父窗体就是MDIClient,而放置在MDI中的picture控件和MDIClient是同一级别的,由于层次结构,所以无法使子窗体显示在picture控件的上面(这段话出自刘杰师哥的博客)。为了将子窗体显示到父窗体的上面,所以我们使用了API函数,就是这个setparent函数(Private
Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long),思思用的就是这个函数,然后她成功了,但是我死活成功不了,老是报错就是这个:
这个问题已经让我苦恼了好几天,之前想着先不用主界面了,敲一个调一个,没想到今天别的窗体都没办法直接启动了,好了,有啥办法,调吧,之前其实查了好多资料,都说这样写是没错的,但是就是不能运行,还有好多就是答非所问,终于搜到一篇相关一点的,就是这个:实时错误426
只允许一个MDI窗体 李雪师姐的博客,但是她的这种情况和我的不一样,我就真的只有这一个show,再一次卡在这,继续查,看到有人说别用sub main()做启动窗体,我就试着将login改成了启动窗体,然后稍微修改了一下代码,也可以运行了,但是每次关闭主窗体时,程序都没办法自己退出,还需要手动退出,而且感觉不用sub main特别不好,只好继续查,查到了这个:
一个工程只允许有一个 MDIForm。此错误产生的原因及解决方法如下:
- 试图向工程中加载包含 MDIForm 的文件,该工程中已经包含一个 MDIForm。
在加载其它文件之前,先删除包含已加载 MDIForm 的文件。
- 试图加载 MDIForm 的第二个实例,该 MDIForm 是用 Dim 或 Set 语句创建的。
在工程中仅能创建 MDIForm 的一个实例。
看到这里,突然豁然开朗,难道是我的模块有问题?我的模块登陆这块是照着学生敲得,有这么一句:
Set fMainform = New frmmain
fMainform.Show
难道问题出在这里?于是我把它改成了 frmmain.show,没想到真的可以运行了,但是思思也是这么写的,联想到李雪师姐的博客,这说明肯定在某个地方,我又把MDI窗体加载了一遍,不过我还没找到到底实在哪里,就只好先把模块中的这句改成这样:
frmmain.show
改成这样以后,运行的确实没什么问题了,先接着敲,看看能不能找到到底是在哪里又加载了一遍。
机房收费系统之【只允许一个MDI窗体 错误:426】 标签: vb 2014-08-15 10:36 1149人阅读 评论(23)的更多相关文章
- 机房收费系统——技术总结 标签: vb数据库技术 2014-09-07 22:29 1153人阅读 评论(30)
说完了经验,再谈谈技术方面,其实对于技术,师哥师姐们都已经写了好多博客,这也是我在敲机房几乎没写这方面的博客的原因,不过别人的再好也是别人的,下面说说自己的. (一)数据库的设计 其实虽然说是数据库的 ...
- 【vb.net机房收费系统】之sqlhelper 标签: 数据库 2015-05-17 10:47 819人阅读 评论(15)
在敲机房收费重构版的时候,用到了sqlhelper,当时不知道怎么开始,各种听别人说,张晗说,一定要用sqlhelper,特别好用,我当时没有用balabala~当时一听,哎哎哎,这个高级,要搞一搞, ...
- .NET分层登陆——机房收费系统再总结
去年的时候,我写过一篇机房收费系统登陆的总结文章,那是站在VB的基础上,直接查询数据库实现的登陆.是很初期的知识.如果想了解详情,请看VB查询数据库之登陆窗体--机房收费系统总结(一). 今天,我要换 ...
- 机房收费系统——在VB中将MSHFlexGrid控件中的数据导出到Excel
机房收费系统中,好多查询的窗体都包含同一个功能:将数据库中查询到的数据显示在MSHFlexGrid控件中,然后再把MSHFlexGrid控件中的数据导出到Excel表格中. 虽然之前做过学生信息管理系 ...
- VB.NET版机房收费系统---外观层如何写
外观设计模式,<大话设计模式>第103页详细讲解,不记得这块知识的小伙伴可以翻阅翻阅,看过设计模式,敲过书上的例子,只是学习的第一步,接着,如果在我们的项目中灵活应用,把设计模式用出花儿来 ...
- VB.NET版机房收费系统---报表
报表,即报告情况的表格,简单的说:报表就是用表格.图表等格式来动态显示数据,可以用公式表示为:"报表 = 多样的格式 + 动态的数据". 在没有计算机以前,人们利用纸和笔来记录数据 ...
- VB.net版机房收费系统——结账功能实现(调错与优化)
调错部分 上一篇博客<VB.net版机房收费系统--结账功能实现(代码部分>说的是结账功能的实现,亮出了代码.是在为这篇博客做铺垫.尽管结账功能代码是借鉴的巨人的博客.可是自己比着葫芦画瓢 ...
- vb.net机房收费系统之组合查询
我个人一直认为,组合查询是机房收费系统的一个难点,尤其是用到三层之后,如果要为组合查询中的每一个查询建立一个显然是太麻烦了. 下面介绍一下我的方法,对大家起个参考作用. 我将该表中可输入的内容定义为一 ...
- 机房收费系统(VB.NET)——存储过程实战
最初接触存储过程是在耿建玲老师的视频里,当初仅仅是草草过了一遍.仅仅是有了个印象.知道了这个名词:大二时也有SqlServer数据库这门课,只是老师没讲,自己也没看:真正对存储过程的了解来自于自学考试 ...
随机推荐
- $(...).live is not function
项目中引入了一个插件,但是调用的时候就报了$(...).live is not function 上网搜索了一下live方法在1.9中被删除了,因为平时自己用的时候就用on的方法,没用过live,所以 ...
- js 之观察者模式
观察者模式又叫发布订阅模式(Publish/Subscribe),它定义了一种一对多的关系,让多个观察者对象同时监听某一个主题对象,这个主题对象的状态发生变化时就会通知所有的观察者对象,使得它们能够自 ...
- android 数据绑定(3)自动更新UI
1.官方文档 https://developer.android.com/topic/libraries/data-binding/observability 2.observable 属性 适合对象 ...
- TZ_16_Vue的idea入门
1.Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.Vue 的核心库只关注视图层,不仅易于上手,还便 ...
- Sublime svn 安装
Ctrl + Shift + P 进入 install package 输入svn windows系统选择:TortoiseSVN (在此之前,请确保电脑上已经安装好了TortoiseSVN) li ...
- HTTP协议②缓存
首先介绍一下HTTP的报文信息,主要分成两个部分 1.包含属性的首部(header)---------------附加信息(cookie,缓存信息等)与缓存相关的规则信息,均包含在header中 2. ...
- 通信网络 ccf
试题编号: 201709-4 试题名称: 通信网络 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 某国的军队由N个部门组成,为了提高安全性,部门之间建立了M条通路,每条通路只 ...
- leetcode 839 Similar String Groups
题目 Two strings X and Y are similar if we can swap two letters (in different positions) of X, so that ...
- 洛谷P2196 挖地雷 [2017年4月计划 动态规划13]
P2196 挖地雷 题目背景 NOIp1996提高组第三题 题目描述 在一个地图上有N个地窖(N<=20),每个地窖中埋有一定数量的地雷.同时,给出地窖之间的连接路径.当地窖及其连接的数据给出之 ...
- git出现“The file will have its original line endings in your working directory”错误
一.现象: git add *时出现如下现象: The file will have its original line endings in your working directory 解决: G ...