none
我想问一个关于界面的问题,因为电脑显示器大小不一,想问下该怎样在显示器大小不同的情况下怎样调整? RRS feed

  • 问题

  • 因为现在显示器的大小不一,用C#编写界面,上面布置各种各样的控件,在用户调节界面的大小,或者是全屏(针对宽屏和非宽屏该怎样调节)

    不知道怎样调整是最美观的?

    还有个问题是怎样让控件大小和控件上面的文本大小随界面的大小变化而变化?(其实我觉得这个方法不是很美观)

    2010年3月10日 15:52

答案

  • 一般都有一个主显示窗口,如编辑窗口,这个大小是无所谓的,其他的东西都放在上下左右,或者浮动。

    控件大小可以用dock或者anchor来控制,dock表示控件帖着某一边,如菜单栏、工具栏、状态栏那样。anchor是表示随着整个窗体的变化而变化,简单的说就是控件的4条边到窗口的4条边的距离保持不变(哪些边可以选择,默认是左+上)

    霸王
    2010年3月10日 18:20
  • System.Windows.Forms.Screen.WorkingArea 属性可以获得当前屏幕的工作区大小。 你可以参考这个范围调整你程序界面的大小。
    2010年3月10日 22:40
  • 一般都有一个主显示窗口,如编辑窗口,这个大小是无所谓的,其他的东西都放在上下左右,或者浮动。

    控件大小可以用dock或者anchor来控制,dock表示控件帖着某一边,如菜单栏、工具栏、状态栏那样。anchor是表示随着整个窗体的变化而变化,简单的说就是控件的4条边到窗口的4条边的距离保持不变(哪些边可以选择,默认是左+上)

    霸王

    一般的布局,设置控件的 dock 或 anchor 就可够了,同时也可以结合 MinimumSize 来控制界面正常显示的最小尺寸。你所说的控制字体大小可以使用 Control.Scale 方法实现,不过不建议这么做,这样会使用屏幕比较大的客户的界面变得非常难看。



    知识改变命运,奋斗成就人生!
    2010年3月11日 1:20
    版主
  • 你好!
         如果Anchor 或Dock属性无法满足你的需要,就需要采取进一步的手段了,具体可以参考:
    http://msdn.microsoft.com/zh-cn/library/ms229674%28VS.80%29.aspx
         希望对你有帮助!
    周雪峰
    2010年3月11日 2:18
    版主

全部回复

  • 一般都有一个主显示窗口,如编辑窗口,这个大小是无所谓的,其他的东西都放在上下左右,或者浮动。

    控件大小可以用dock或者anchor来控制,dock表示控件帖着某一边,如菜单栏、工具栏、状态栏那样。anchor是表示随着整个窗体的变化而变化,简单的说就是控件的4条边到窗口的4条边的距离保持不变(哪些边可以选择,默认是左+上)

    霸王
    2010年3月10日 18:20
  • System.Windows.Forms.Screen.WorkingArea 属性可以获得当前屏幕的工作区大小。 你可以参考这个范围调整你程序界面的大小。
    2010年3月10日 22:40
  • 一般都有一个主显示窗口,如编辑窗口,这个大小是无所谓的,其他的东西都放在上下左右,或者浮动。

    控件大小可以用dock或者anchor来控制,dock表示控件帖着某一边,如菜单栏、工具栏、状态栏那样。anchor是表示随着整个窗体的变化而变化,简单的说就是控件的4条边到窗口的4条边的距离保持不变(哪些边可以选择,默认是左+上)

    霸王

    一般的布局,设置控件的 dock 或 anchor 就可够了,同时也可以结合 MinimumSize 来控制界面正常显示的最小尺寸。你所说的控制字体大小可以使用 Control.Scale 方法实现,不过不建议这么做,这样会使用屏幕比较大的客户的界面变得非常难看。



    知识改变命运,奋斗成就人生!
    2010年3月11日 1:20
    版主
  • 你好!
         如果Anchor 或Dock属性无法满足你的需要,就需要采取进一步的手段了,具体可以参考:
    http://msdn.microsoft.com/zh-cn/library/ms229674%28VS.80%29.aspx
         希望对你有帮助!
    周雪峰
    2010年3月11日 2:18
    版主
  • 你是怎么解决这一问题的,我是算出当前分辨率和目标分辨率的比例,然后遍历窗体上的控件,乘这个比例值,不知道方法地道不地道,您是怎么解决的,交流一下,谢谢
    2010年3月20日 6:31
  • 目前还没有决定怎么解决这个问题

     

    2010年3月26日 14:59