zoukankan      html  css  js  c++  java
  • wpf和winform的那点区别

      一提起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?这个问题,也没有去深究,对生产环境保持敬畏之心是必要的。你写的代码,谁知道会运行在什么样的环境下。

  • 相关阅读:
    Django笔记(2)Json字段处理
    jvm 启动参数设置(转载)
    消息中间件及WebSphere MQ入门(转载)
    Ubuntu下Tomcat绑定80端口(zz)
    idea+tomcat 端口占用
    内存溢出和内存泄漏的区别(ZZ)
    Ubuntu上搭建Hadoop环境(单机模式+伪分布模式) (转载)
    ubuntu 安装jdk7小结(转载)
    ubuntu下安装maven(转载)
    CXF wsdl2java (转载)
  • 原文地址:https://www.cnblogs.com/wangqiang3311/p/8989981.html
Copyright © 2011-2022 走看看