panel为正方体 
不是指像数上的正方型
要视觉上是正方型这样可能不清楚 说说我的具体问题吧
我的屏幕是16:9的宽屏 屏幕的分辨率为1280*720
我让panel的Width = Height
原来以为这样就会变成正方形的了 
可惜不是 明显的Width要比Height小 我指的是视觉上 
这样的问题该怎么解决啊

解决方案 »

  1.   

    用Screen.PrimaryScreen.Bounds.Width获得屏幕分辨率,然后自己按比例算
      

  2.   

    晕倒,你所谓的视觉不是正方形不就是分辨率造成的嘛
    你现在根据分辨率来控制panle的宽和高不就行了
    一般在4:3的屏幕中显示正常
      

  3.   

               this.panel1.Width = (Screen.PrimaryScreen.Bounds.Width / Screen.PrimaryScreen.Bounds.Height) * this.panel1.Height;
      

  4.   

    这个不难只要知道显示器实际输出的像素的宽高比就能实现视觉上的正方形。  如16:9显示器的像素的宽高比是1.1:1,在点对点的情况下 那你要输出一个视觉上的正方形(如100 X 100)就要要输出(1/1.1)*100 X 100。    但16:9显示器如果使用4:3的分辩率,你要就输出(16/9)/(4/3) *(1/1.1)* 100 X 100图像。    正常情况下,你是没有办法100%取得显示器点对点的分辩率,更加不可能得取显示器的像素的宽高比。
      但是也不是没有办法,只要你有一个参就可以做到,如叫用户画一个他认为的正方型,然后按那个正方开的宽高比比来输出。
      或者你要求用户用你已经知的这些物理参数的显示器。
      

  5.   

    this.panel1.Width = (Screen.PrimaryScreen.Bounds.Width / Screen.PrimaryScreen.Bounds.Height) * this.panel1.Height;