日期:2014-05-17  浏览次数:20981 次

winform程序运行怪事
做的winform程序拿到客户机上运行,出现了奇怪的情况,令我百思不得其解,大家遇到过吗?


  一个固定大小的窗体(无边框,放置背景图片,不可改变大小,如登录框),一张和窗体一样大小的背景图片。把图片放在Form的BackgroundImage属性中,BackgroundImageLayout = Title。其实我当时想BackgroundImageLayout属性设置成什么都无所谓,因为图片和窗体大小是一样的,窗体又不能拉伸,就算是平铺显示,也只显示左上角的第一张图片,就使用了默认值。
  在公司的电脑上测试都没有问题,从1024*768的小屏到1920*1080的大屏。
  后来客户说屏幕排版异常,并截图给我,在他的电脑上,背景图片平铺了,也就是说窗体的显示大小竟然比图片大了一圈。而且所有的用BackgroundImage属性,BackgroundImageLayout = Title的控件,本来做的图片都是固定尺寸的,都如此。但是其他控件的布局没有改变。也就是说只有背景图片变小了。
  虽然把把控件的BackgroundImageLayout = Stretch 就能解决大部分的问题,但是有的Button的图片这样做会有一个默认框,不好看,还要重新画图。

  因为是客户的电脑,所以测试不易。我只知道是一个15寸屏的笔记本,1920*1080的分辨率,配置相当高。
  怎么会有这种情况?

------解决方案--------------------
Button设置底图好像是有一圈框,你可以改用lable,或者自己自定义
------解决方案--------------------
跟操作系统有关吧。
------解决方案--------------------
系统的主题可能影响了你程序中控件的显示

------解决方案--------------------
探讨

系统的主题可能影响了你程序中控件的显示