码迷,mamicode.com
首页 > Windows程序 > 详细

wpf和winform的那点区别

时间:2018-05-04 14:07:14      阅读:272      评论:0      收藏:0      [点我收藏+]

标签:primary   col   用户   oat   sys   机器   结果   区别   send   

  一提起winform和wpf有啥不同,可能大部分人都会想到wpf拥有漂亮的界面。wpf中也可以使用winform,大部分情况下,都没有任何问题,极少的情况下,可能会出现问题。

  我们就来看一下:

       void FloatWindow_Loaded(object sender, RoutedEventArgs e)
        {
            this.Topmost = true;
            this.Left = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width - 300;
            this.Top = 300;
        }

  这是摘自wpf应用中的一段代码,这段代码意图很明显,就是在悬浮窗体加载的时候,给它定位。开发和测试的时候,都没有任何问题。我们主要以PC机为主,进行的测试。笔记本上测试,也是一些几年前的电脑了。某一天,公司有钱了,配置了一台性能比较好的电脑,同事准备带上,去给客户讲我们的软件,不料,安装上去,却发现悬浮窗不见了。同事们的第一反应:是笔记本哪儿设置不对。后来,我就去跟踪了下代码,包括日志。因为在生成环境或者用户机器上,你不可能像开发一样调试。结果发现Left取的值比屏幕分辨率大很多。比如屏幕分辨率是1024*768,获取的Left结果是接近1024的两倍了。我不禁惊讶。

  后来代码改成wpf版的:

this.Left=SystemParameters.WorkArea.Width-300;

  这样就解决了问题。为什么会出现这样问题呢?wpf与硬件有关,或者winform在新设备中有bug?这个问题,也没有去深究,对生产环境保持敬畏之心是必要的。你写的代码,谁知道会运行在什么样的环境下。

wpf和winform的那点区别

标签:primary   col   用户   oat   sys   机器   结果   区别   send   

原文地址:https://www.cnblogs.com/wangqiang3311/p/8989981.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!