问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

高分急求解VB程序运行问题:当电脑的分辨率发生改变时,我写的程序里的T...

发布网友 发布时间:2024-10-04 10:43

我来回答

3个回答

热心网友 时间:2024-10-05 13:53

这是个很普遍的问题,传统的软件是用API来改变系统分辨率去自适应软件,一部分游戏就这么做,DerictX9以上就开始设置游戏环境了.以前我们玩C++开发的单机游戏会在开始的时候屏闪一下,系统分辨率用API暂时篡改了,当程序无响应的时候,分辨率就改变不回来了,经常性地调用API改变分辨率会使系统出现故障,这就是为什么很多人玩单机游戏造成系统崩溃的原因.而且调用API系统会很卡,程序在运行API一直开着.窗口和显示一直以来是很关注的问题.VB有很大的局限性,所有的控件你必须做初始化处理啊.把控件名称作为变量,控件作为类的成员.写成一个自适应类,然后在窗口的Realize事件中加入类,给控件或者控件组自适应窗口大小,这样就不叫改变分辨率了,就上一自适应大小,有一个Realize事件来完成,当窗口发生任何形状变化的时候控件都会自适应变化.

举例:先定义窗体加载的时候长宽为常量.       

Controls(控件名).Width=控件名.原始宽*窗体.Width窗体原始宽

下面是我写的一段C#代码,方法你可以采用一下:

const int chang = 1000;
        const int kuan = 600;
        private void AddControl<T>(string n, int H, int W, int L, int TO) where T : Control
        {
            T bu = (T)Controls[n];
            bu.Top = TO * this.Height / kuan;
            bu.Left = L * this.Width / chang;
            bu.Width = W * this.Width / chang;
            bu.Height = H * this.Height / kuan;    //缩放比例   
        }
        private void Form1_Resize(object sender, EventArgs e)
        {
            AddControl<Button>("logen", 26, 71, 791, 260);
            AddControl<Button>("button1", 23, 31, 856, 3);
            AddControl<Button>("button2", 23, 31, 891, 3);
            AddControl<Button>("button3", 23, 31, 930, 3);
            AddControl<Button>("button4", 23, 49, 801, 3);
            AddControl<TextBox>("yonghuming", 26, 90, 483, 260);
            AddControl<TextBox>("mima", 26, 91, 659, 260);
            AddControl<Label>("label1", 16, 72, 405, 266);
            AddControl<Label>("label2", 16, 56, 597, 266);
        }

热心网友 时间:2024-10-05 13:52

建议分业或做报表!
你想做在A4也不是不可以, 但你看这窗体的大小! 就算打印出来了也是看不清的! 何必这么麻烦 呢! 建议生成报表再打印!
还有一个方法就是用pagecontrol分页, 然后将内容全部画到 picturebox然后再打映!

因为这个窗口只合适你现在的分辨率, 你把分辨绿调小了,窗体会看不全! 要想看清楚标签,
你应该把 标签(label)控件的 autosize属性设置问 ture , 否则很难显示的,会被覆盖的!

热心网友 时间:2024-10-05 13:51

用pagecontrol分页,不要都挤在一个页面
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我女朋友我在同事面前说她是我媳妇她默认,在她组长面前就不承认了什么... 跨省迁户口需要的手续 户口跨省迁移需要哪些手续? cf空白名字怎么打(cf空白名字怎么打2021) 关于旅行的电影 就是一个人旅行放松心灵那种 不要纪录片 模拟人生2高斯的遗产给儿子还是女儿 模拟人生2如何跟高斯结婚啊? 模拟人生2高斯怎么找到贝拉,找到后能怎么办? 我的米2插上充电器后屏幕一直闪,快速的一下显示充电一下没在充电。请 ... ...屏幕乱闪 充不进去电 用手机连接电脑也是一样 笔记本显卡问题和蓝屏问题,高分求人帮忙 2007年3月31日入职于2015年1月31日辞职到期不再上班该员工累积可共休... 公务员有年假吗有的话是多久 大众朗逸的发动机用国产的好还是用进口的好? vivo手机简易模式设置路径? 我昨天刚做了个梨花头 是个小理发店 花300块钱做的、当时做好 我都不... 20平米的理发店冷烫58起价贵吗?加上剪头发一共78元 小型理发店取名大全集240个,理发店名字二字独一无二 急!!牙龈问题,很难受.希望有人能告诉我答案 扬州老鹅的简介是什么 乐视手机右上每的hd怎么弄掉图片步骤 描写景物的二字优美词语,至少10个,急急急急急急急急急急急急急急... 一首歌,歌词里副歌部分:~~~什么都别说~~~什么都别留,却留下什么... 给不了你的温柔歌词(完整版) 《你的温柔我永远不懂》歌词是什么 浦东至成都打折飞机票 7月份能买到从浦东机场到成都的机票吗? 暑假7月份成都到上海机票价格是多少?学生有打折吗? NSK 6917轴承NSK 6917轴承尺寸参数 NSK 6219轴承NSK 6219轴承尺寸参数 读下图,完成下列问题: (1)填出图中数字所代表的地理事物名称:①... 关于显卡驱动安装后,屏幕不能显示全部内容。求高手赐教。高分悬赏 怎么将微信上的地区切换成中文? 打算配一台电脑,要求游戏性能强劲,价格一万到一万五之间,高手来_百度... 电脑菜鸟自己组装 配置运行速度和显示器最优 其他方面排队 价格3000... 老公窝囊废干什么都不行怎么养家糊口啊烦愁媳妇也对他无语了没发过啊... 黄色樱桃品种有哪些?黄皮樱桃是什么品种 1.95万亿有多重 195037500等于多少亿 1.69万亿等于多少? 169000000等于多少亿? 辉县城北十字哪点有豫北驾校的练车点? 豫北驾校科目一考试是在总站考试吗 云4100QB-2可以用4102QBZL的高压油泵 swatch suob702详细说明触摸说明 枫树茶的功效与作用喝枫树茶的好处 广东红鱼干为什么出名? 绍兴什么地方的醉鱼干味道最正宗? 鱼干的选购技巧是什么意思 常州火车站附近有什么地方好玩,常州周边旅游景点推荐看桃花