Form.StartPosition Property 及 SaveFileDialog居中的办法

Form.StartPosition Property

Definition

Namespace:

System.Windows.Forms

Assembly:

System.Windows.Forms.dll

Gets or sets the starting position of the form at run time.

C#Copy

public System.Windows.Forms.FormStartPosition StartPosition { get; set; }

Property Value

FormStartPosition

FormStartPosition that represents the starting position of the form.

Exceptions

InvalidEnumArgumentException

The value specified is outside the range of valid values.

Examples

The following example creates a new instance of a Form and calls the ShowDialog method to display the form as a dialog box. The example sets the FormBorderStyleAcceptButtonCancelButton, and StartPosition properties to change the appearance and functionality of the form to a dialog box. The example also uses the Add method of the form's Controls collection to add two Button controls. The example uses the HelpButton property to display a help button in the caption bar of the dialog box.

C#Copy

public void CreateMyForm()
 {
    // Create a new instance of the form.
    Form form1 = new Form();
    // Create two buttons to use as the accept and cancel buttons.
    Button button1 = new Button ();
    Button button2 = new Button ();
   
    // Set the text of button1 to "OK".
    button1.Text = "OK";
    // Set the position of the button on the form.
    button1.Location = new Point (10, 10);
    // Set the text of button2 to "Cancel".
    button2.Text = "Cancel";
    // Set the position of the button based on the location of button1.
    button2.Location
       = new Point (button1.Left, button1.Height + button1.Top + 10);
    // Set the caption bar text of the form.   
    form1.Text = "My Dialog Box";
    // Display a help button on the form.
    form1.HelpButton = true;
 
    // Define the border style of the form to a dialog box.
    form1.FormBorderStyle = FormBorderStyle.FixedDialog;
    // Set the accept button of the form to button1.
    form1.AcceptButton = button1;
    // Set the cancel button of the form to button2.
    form1.CancelButton = button2;
    // Set the start position of the form to the center of the screen.
    form1.StartPosition = FormStartPosition.CenterScreen;
    
    // Add button1 to the form.
    form1.Controls.Add(button1);
    // Add button2 to the form.
    form1.Controls.Add(button2);
    
    // Display the form as a modal dialog box.
    form1.ShowDialog();
 }
 

Remarks

This property enables you to set the starting position of the form when it is displayed at run time. The form's position can be specified manually by setting the Location property or use the default location specified by Windows. You can also position the form to display in the center of the screen or in the center of its parent form for forms such as multiple-document interface (MDI) child forms.

This property should be set before the form is shown. You can set this property before you call the Show or ShowDialog method or in your form's constructor.

https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.form.startposition?redirectedfrom=MSDN&view=netframework-4.8#System_Windows_Forms_Form_StartPosition

http://forums.codeguru.com/showthread.php?413532-RESOLVED-OpenFileDialog-SaveFileDialog-MessageBox

Re: OpenFileDialog, SaveFileDialog, MessageBox

There's no inherent property built into those dialogs to achive this.
What you can do however is use the Form's  CenterToParent() function, like this :

Code:

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim s As New SaveFileDialog
        Me.CenterToParent() 'center the savefiledialog

        s.ShowDialog(Me) 'me = owner of this dialog

    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim o As New OpenFileDialog
        Me.CenterToParent() 'center the openfile dialog
        o.ShowDialog(Me) 'me = owner of this dialog

    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        CenterToParent() 'center the messagebox, you can just call it without Me.  too
        MessageBox.Show("Test!")

    End Sub
The above code will center these dialogboxes  inside your form.
You can also use the  CenterToScreen function to center these dialog boxes in the screen.

I hope it helps!

c#中怎样设置窗体在显示器居中显示

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
StartPosition = FormStartPosition.CenterScreen;
}
}

或者直接在窗体的属性上设置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值