首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • MDI与控件大小重设的奇怪问题 [已结贴,结贴人:kkkgho]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-08 20:44:35 楼主
    我做了一个多窗体文件,有一个新建窗体按钮,事件如下
    Private Sub xinjian_Click(Index As Integer)
    Dim f As New Form1
    f.Show
    End Sub

    在有1个窗体时新建是正常的(按一次出来一个)
    来子窗体全部关闭后,再按下这个按钮会一次出来两个
    而且有时候我关不掉某个子窗口,关掉后会自动再创建一个新的

    同时,我的子窗体是一个文本框,是自动调整大小的
    Private Sub Timer1_Timer()'0.1秒执行一次
    Text1.Width = Form1.Width - 100
    Text1.Height = Form1.Height - 400
    End Sub

    如果把这个自动调整去掉就正常了,这是怎么回事呢
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-08 21:01:211楼 得分:0
    UP
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-08 21:04:202楼 得分:0
    感觉上,你把那个Text1的格子大小放在Timer上就不对。
    应该放在 Form_Resize 内比较合适。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-08 21:07:313楼 得分:0
    我试过 Form_Resize 问题依旧,而且控件也不会自动修改大小了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-08 21:11:374楼 得分:0
    Private Sub xinjian_Click(Index As Integer) 

    以上的这一段,是在那里呼叫的?你总共有多少个Form?
    Form1 就是放 Text1 的那个?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-08 21:13:195楼 得分:0
    一个FORM1,是动态创建的,还有一个MDIFORM,是启动窗体

    Form1 就是放 Text1 的那个

    Private Sub xinjian_Click(Index As Integer)  
    是一个菜单项
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-08 21:14:006楼 得分:0
    对了,除了把那个Text1的大小控制放在Form1的Form_Resize,也顺便放在Form_Load。

    这样子应该可以解决你的问题了?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-08 21:17:537楼 得分:0

    Private Sub Form_Load()
    Text1.Width = Form1.Width - 100
    Text1.Height = Form1.Height - 400
    End Sub

    Private Sub Form_Resize()
    Text1.Width = Form1.Width - 100
    Text1.Height = Form1.Height - 400
    End Sub

    Form_Load()是成功调整了大小,但是:
    这样子我发现Form_Resize()不会响应窗口改变大小的事件,而且在关闭所有子窗口时,点击新建同样会弹出2个窗口
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-08 21:20:068楼 得分:0
    老兄是否需要看看源代码?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-08 21:22:189楼 得分:0
    调整Text框大小的代码你都放在Form1吗?
    还有你的Timer是否删除了?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-08 21:24:4410楼 得分:0
    没有删除,刚刚删除后发现第一个自动创建可以响应Form_Resize() 了,但是在关闭所有子窗口时,点击新建同样会弹出2个窗口,之后手工新建的子窗口也不会响应Form_Resize()
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-08 21:24:5711楼 得分:0
    老兄是否需要看看源代码?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-08 21:25:1312楼 得分:0
    对了,你把调整大小的代码更改为:

    Text1.Width = Me.Width - 100 
    Text1.Height = Me.Height - 400 
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-08 21:27:1413楼 得分:0
    问题成功解决了,但是这到底是个什么道理呢?调整控件大小会影响到窗体的创建??
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-08 21:28:3714楼 得分:0
    引用 13 楼 kkkgho 的回复:
    问题成功解决了,但是这到底是个什么道理呢?调整控件大小会影响到窗体的创建??


    下次你记得用 Me 来表达 本体窗口。呵呵~~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-08 21:29:0915楼 得分:0
    好吧,结分
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-08 21:32:1816楼 得分:0

    囧死- - 文本框默认给我50分,而且删都删不掉……
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-09 09:47:5017楼 得分:20
    lz。。。你啥时候结分阿。。。。。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • cqjkwqj
    • 等级:
    发表于:2008-05-10 19:45:0418楼 得分:0
    不懂VB,路过,学习中
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-12 09:21:2019楼 得分:0
    ***************************************************************************

    思想决定行动,行动决定习惯,习惯决定命运.
    程序员在深圳QQ群,交流产生思想碰撞.

    部份专业群:
    程序员在深圳c++群15195967
    程序员在深圳英语学习群:23864353
    程序员在深圳c++Ⅱ17409451
    程序员在深圳嵌入式开发群37489763
    程序员在深圳移动开发群31501597
    程序员在深圳创业群33653422

    部份高级程序员群:
    高级群I:17538442
    高级群II:7120862

    部份初、中级程序员群:
    第三群:2650485
    第五群:29537639
    第四群:28702746
    第六群:10590618
    第七群:10543585
    第八群:12006492
    第九群:19063074
    第十群:2883885
    第十一群:25460595
    第十二群:9663807

    深圳程序员QQ群联盟成立三年多,拥有三十个以上的QQ群,人数超二千多人,大量经验丰富的老手,成员从业于大公司(如微软、IBM,SUN,华为)、来自国内著名高校和研究院成员,和有丰富实践经验的高级程序员、系统分析员(包括参加过上亿元的项目的架构师),有很热爱技术的成员(包括自己写过嵌入式操作系统),还有少数女程序员。推荐:深程高级群I:17538442 深程高级群II:7120862 (深程高级群不欢迎新手,如果在深圳,月薪6K以下的别加入) c++:15195967  mobile:31501597嵌入式:37489763  
    —————————————————————————————————————————— 
    群内交流解决问题的方法,一般难以直接得到答案,问题的解决还是要靠自己。(授之以渔与授之以鱼的关系)。
    *****************************************************************************
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-12 10:18:2020楼 得分:0
    想了解更多IT技术,请登陆:http://www.ciitc.com
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    世纪乐知(北京)网络技术有限公司 版权所有 京 ICP 证 020026 号
    Copyright © 2000-2007, CSDN.NET, All Rights Reserved