フォームが画面の真ん中に表示されるようにするフォームがはじめに表示される時に画面の真ん中に表示されるようにするには、フォームのStartPositionプロパティをFormStartPosition.CenterScreenにします。 Dim f As New Form1() 'フォームを画面の真ん中に表示する f.StartPosition = FormStartPosition.CenterScreen f.Show() Form3 f = new Form1(); //フォームを画面の真ん中に表示する f.StartPosition = FormStartPosition.CenterScreen; f.Show(); モーダルフォームを親フォームの真ん中に表示するStartPositionプロパティをFormStartPosition.CenterParentとすると、モーダルフォームを表示させた元のフォームや、MDIの親フォームの真ん中に表示されるようになります。 Dim f As New Form1() 'フォームを親フォームの真ん中に表示する f.StartPosition = FormStartPosition.CenterParent f.ShowDialog(Me) f.Dispose() Form3 f = new Form1(); //フォームを親フォームの真ん中に表示する f.StartPosition = FormStartPosition.CenterParent; f.ShowDialog(this); f.Dispose(); モードレスフォームを親フォームの真ん中に表示するモードレスフォームを親フォームの中央に表示するようにするには、表示位置を自分で計算する必要があります。例えば、Form2のLoadイベントハンドラに次のようなコードを書き、Form2の親フォームを指定してからShowメソッドでフォームを表示すると、Form2は親フォームの中央に表示されるようになります。(親フォームを指定する方法については、「モードレスのフォームが、あるフォームの背後に隠れないようにする」をご覧ください。) 'フォームのLoadイベントハンドラ Private Sub Form2_Load(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles MyBase.Load Me.Location = New Point( _ Me.Owner.Location.X + (Me.Owner.Width - Me.Width) \ 2, _ Me.Owner.Location.Y + (Me.Owner.Height - Me.Height) \ 2) End Sub //フォームのLoadイベントハンドラ private void Form2_Load(object sender, System.EventArgs e) { this.Location = new Point( this.Owner.Location.X + (this.Owner.Width - this.Width) / 2, this.Owner.Location.Y + (this.Owner.Height - this.Height) / 2); } |
|
Copyright 2002-2008 DOBON!. All rights reserved.
|