none
显示子窗体怎么相对于父窗体居中? RRS feed

  • 问题


  • 开启分屏时,父窗体在分屏显示器上,在父窗体打开子窗体却出现在主显示器上,我想要让子窗体出现的位置是父窗体的中部位置,怎么做?


    • 已编辑 Trian555 2019年2月27日 2:48
    2019年2月27日 2:48

答案

  • 如果说在父窗体点击出现子窗体

    可以设置子窗体的WindowStartupLocation 为WindowStartupLocation.CenterScreen;

    win2.WindowStartupLocation = WindowStartupLocation.CenterScreen;

    让窗体的位置为鼠标所在的屏幕的位置

    或者

    win2.Left =this.Left;//或者是加上适当偏移量 this是父窗体
    
    win2.Top = this.Top;//或者是加上适当偏移量

    • 已编辑 ARM830 2019年2月27日 12:53
    • 已标记为答案 Trian555 2019年2月28日 9:18
    2019年2月27日 12:23
  • 子窗口设置WindowStartupLocation="CenterOwner"
    • 已标记为答案 Trian555 2019年2月28日 9:17
    2019年2月28日 2:06

  • Hi    Trian555,

    你可以设置子窗体的WindowStartupLocation属性值为CenterOwner
                ownerformschildren ownedWindow = new ownerformschildren();
                ownedWindow.Owner = this;
                ownedWindow.WindowStartupLocation = WindowStartupLocation.CenterOwner;
                ownedWindow.Show();
    

    替换ownerformschildren为你的子窗体。

    Best Regards,

    Yong Lu

    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • 已标记为答案 Trian555 2019年2月28日 9:17
    2019年2月28日 3:03
    版主

全部回复

  • 如果说在父窗体点击出现子窗体

    可以设置子窗体的WindowStartupLocation 为WindowStartupLocation.CenterScreen;

    win2.WindowStartupLocation = WindowStartupLocation.CenterScreen;

    让窗体的位置为鼠标所在的屏幕的位置

    或者

    win2.Left =this.Left;//或者是加上适当偏移量 this是父窗体
    
    win2.Top = this.Top;//或者是加上适当偏移量

    • 已编辑 ARM830 2019年2月27日 12:53
    • 已标记为答案 Trian555 2019年2月28日 9:18
    2019年2月27日 12:23
  • 子窗口设置WindowStartupLocation="CenterOwner"
    • 已标记为答案 Trian555 2019年2月28日 9:17
    2019年2月28日 2:06

  • Hi    Trian555,

    你可以设置子窗体的WindowStartupLocation属性值为CenterOwner
                ownerformschildren ownedWindow = new ownerformschildren();
                ownedWindow.Owner = this;
                ownedWindow.WindowStartupLocation = WindowStartupLocation.CenterOwner;
                ownedWindow.Show();
    

    替换ownerformschildren为你的子窗体。

    Best Regards,

    Yong Lu

    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • 已标记为答案 Trian555 2019年2月28日 9:17
    2019年2月28日 3:03
    版主