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

高分急求解VB程序运行问题:当电脑的分辨率发生改变时,我写的程序里的Text和Label控件就不能显示出来

发布网友 发布时间:2022-05-13 16:58

我来回答

3个回答

热心网友 时间:2023-10-17 02:27

这是个很普遍的问题,传统的软件是用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);
        }

热心网友 时间:2023-10-17 02:28

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

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

热心网友 时间:2023-10-17 02:28

用pagecontrol分页,不要都挤在一个页面
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
现在波兰的签证率高不高 去波兰如何办签证 去波兰办签证好办理吗 波兰签证好签吗 win7 多重网络 教师资格证普通话要多少级 想考教师资格证普通话必须过几级 qq影视会员SVIP和超级影视VIP的区别在哪里? 一小撮怎么造句 盛行一时怎么造句 我刚买了几天的电脑 开机玩一会就自动跳出 activex控件无法显示 - 信息提示 电器长时间不用要不要拔掉电源 电脑控制面板上的添加&#47;卸载程序控件无法打开,一按出就显示无法阅读,求大神支招。如图 谁有康熙王朝的高清种子,请注意是高清,邮箱:lxlf_99@163.com,没有多少分,不胜感激! 河南畅爽省内(已升级为国内)版99元冰激凌套餐,它的流量可以国内通用吗? 网页上一些控件按钮显示不出来 我换了个浏览器问题仍然存在 将网线换到另一台电脑上可以显示 国产片,有个场面是一男的在地上画下琴键弹钢琴,一女的被水泥涂上演雕塑 activeX控件无法显示,界面显示红叉 急 电脑提示一个或多个Activex控件无法显示! 这是99式吗? 为什么我的电脑大多数控件都显示不出来 大师,您好。我电脑一个或多个ActiveX控件无法显示,怎么回事啊?? 中国新年的日子是新历几月几号? 中国有哪些伟大的日子 中国值得纪念的日子有哪些? 谁知道中国所有的节日?说出日子! 十个中国人不能忘记的日子有哪些? 中国所有节日(包括日子 有两部手机能注册两个吗? 网页中弹出的小窗口空白无法显示,急!求高手解惑 传奇SF登录器获取列表失败? 传奇私服登录器获取列表失败?怎么办?? 传奇登陆器获取不到列表怎么回事 传奇私服列表读取不了是什么原因 传奇私服登录器读取列表失败怎么办 求window2000安装序列号。。。 求windows2000序列号 可用于3000学生蒸馒头&#92;蒸米饭&#92;做粥&#92;餐具消毒等的燃煤蒸汽锅炉,需要多大型号,多少钱?谢谢!15423 lg洗衣机脱水时晃动严重,但空桶又没有 秦霄贤作为一个富二代,为何却选择了说相声? 秦霄贤是如何有名气的? 秦霄贤和张云雷比,到底差在了哪里? 为何说德云社里最特立独行的是秦霄贤? 秦霄贤学舞多失败,德云社的秦霄贤人气为何那么高? 欢乐喜剧人收官,秦霄贤获喜剧人冠军饱受争议,你怎么看? 秦霄贤的相声水平在德云社属于哪个层次? 你觉得德云社中秦霄贤的收入如何? 手机电池低于80%需要换吗? 《花园宝宝》蓝色的叫啥?