C# 程序界面 分辨率 变化

我在一台1366*768的电脑上写的开发的程序,在开发电脑上显示很正常,但我把release的软件拷到另一台同样分辨率1366*768的电脑上,却显示不正常,特别是lis... 我在一台1366 *768的电脑上写的开发的程序,在开发电脑上显示很正常,但我把release的软件拷到另一台同样分辨率1366*768的电脑上,却显示不正常,特别是listbox这个控件,在开发电脑上排的很好,没有vertical滚动条,但到别的电脑上,就显示不全,出现了滚动条。

要说换了分辨率出现程序界面变化我还能理解,怎么同样的分辨率,也有变化啊?

谁知道如何控制这个程序界面的适应性啊?
展开
 我来答
fujie724
2014-02-06 · TA获得超过1187个赞
知道小有建树答主
回答量:154
采纳率:100%
帮助的人:276万
展开全部
你好。这个问题一般是由于两台电脑系统默认的字体不一致所致。比如你的是微软雅黑,他的是宋体之类的。.net中默认会让所有控件根据字体来微调。以适应不同字体字形的大小。

一般在开发中我们需要关闭这个选项。

在form的属性里,有一项AutoScaleMode。默认值为font。代表的是根据当前显示的字体自动比例调整。将其选为None。可以更好的保证你在不同的电脑里看到的效果一致。

谢谢采纳。
sarueu
2014-02-06 · TA获得超过813个赞
知道小有建树答主
回答量:230
采纳率:100%
帮助的人:199万
展开全部
程序会自适应分辨率的,即时你更换了分辨率,也应该不会有变化,除非你自己写了根据分辨率不同或窗口尺寸改变时修改控件尺寸或位置的代码,甚至重写了PAINT方法,就可能出现错误,但仅仅是出现垂直滚动条的话,应该不是这些原因引起的,首先看你是否使用了特殊的字体或者对方电脑更换了系统默认字体,有可能引起列表项尺寸的变化,如果数据是来自数据库,还要考虑数据的差异,最便捷的方式就是在目标机器上DEBUG或者在程序中的关键位置写DEBUG代码到目标机器上运行获取差异信息。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
默美男子
2015-11-13 · 知道合伙人数码行家
默美男子
知道合伙人数码行家
采纳数:684 获赞数:44146
国家励志奖学金

向TA提问 私信TA
展开全部
具体代码如下:
// 改变分辨率
public ChangeResolution(int width, int height)
{
// 初始化 DEVMODE结构
DEVMODE devmode = new DEVMODE();
devmode.dmDeviceName = new String(new char[32]);
devmode.dmFormName = new String(new char[32]);
devmode.dmSize = (short)Marshal.SizeOf(devmode);
if (0 != NativeMethods.EnumDisplaySettings(null, NativeMethods.ENUM_CURRENT_SETTINGS, ref devmode))
{
devmode.dmPelsWidth = width;
devmode.dmPelsHeight = height;
// 改变屏幕分辨率
int iRet = NativeMethods.ChangeDisplaySettings(ref devmode, NativeMethods.CDS_TEST);
if (iRet == NativeMethods.DISP_CHANGE_FAILED)
{
MessageBox.Show("不能执行你的请求", "信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
iRet = NativeMethods.ChangeDisplaySettings(ref devmode, NativeMethods.CDS_UPDATEREGISTRY);
switch (iRet)
{
// 成功改变
case NativeMethods.DISP_CHANGE_SUCCESSFUL:
{
break;
}
case NativeMethods.DISP_CHANGE_RESTART:
{
MessageBox.Show("你需要重新启动电脑设置才能生效", "信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
break;
}
default:
{
MessageBox.Show("改变屏幕分辨率失败", "信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
break;
}
}
}
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cjj796
2014-02-06 · TA获得超过8709个赞
知道大有可为答主
回答量:1.3万
采纳率:68%
帮助的人:3454万
展开全部
你好!
应该和屏幕的刷新频率有关吧,你可以看看显示属性
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式