tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルCenterParent プロパティ設定について(画面の中央に表示)
記事No7561
投稿日: 2008/05/19(Mon) 09:33
投稿者ゆうや
こんにちは。わからないことがあるので投稿してみました。

メインのフォームから、別のフォームを表示するようなプログラムを作っています。

別のフォームを表示するときに「画面の表示」というか「親フォームの中央」に表示したく、フォームの「StartPosition」プロパティを「CenterParent」にしました。

親フォームは「CenterScreen」に設定してあるので画面の中央に表示されてます。なので、
「親フォームが画面の中央にあるなら呼び出される別フォームも画面の中央に表示されるのか?」と思ったのですが、実際やると呼び出されたフォームの表示位置が定まりません。表示するたびに微妙に変わるような。。

こちらのサンプルを見ると、「画面の中央に表示」として、StartPositionプロパティを「CenterScreen」にされていますが、「CenerParent」はだめなのでしょうか。。

別に「CenterParent」にこだわっているわけではないのですが、VB6.0では「オーナーフォームの中央」という設定ができたので。。。

どなたかご存知の方、教えてください。よろしくお願いします。

[ツリー表示へ]
タイトルRe: CenterParent プロパティ設定について(画面の中央に表示)
記事No7562
投稿日: 2008/05/19(Mon) 09:38
投稿者魔界の仮面弁士
> 実際やると呼び出されたフォームの表示位置が定まりません。

そのフォームを表示する際に、親フォームを指定していますか?
Show / ShowDialog メソッドの引数などで。

[ツリー表示へ]
タイトルRe: CenterParent プロパティ設定について(画面の中央に表示)
記事No7563
投稿日: 2008/05/19(Mon) 10:05
投稿者花ちゃん
> こちらのサンプルを見ると、「画面の中央に表示」として、StartPositionプロパティを「CenterScreen」にされていますが、「CenerParent」はだめなのでしょうか。。
>
> 別に「CenterParent」にこだわっているわけではないのですが、VB6.0では「オーナーフォームの中央」という設定ができたので。。。

何度も投稿されているのですから、調べる対象が解っている時くらいは、ご自分で
調べるようにしましょう。

CenterParent : フォームは、親フォームの境界内の中央に配置されます。  
CenterScreen : フォームは、現在の表示の中央に配置され、フォームのサイズとして
                指定された大きさになります。  

CenterParent はモーダルでオーナーフォームを指定しないと、オーナーフォームの
中央に表示されません。(又は、 (MDI) 子フォームの場合)

   Dim frm2 As New Form2
   frm2.StartPosition = FormStartPosition.CenterParent
   frm2.ShowDialog(Me)

ここの[当サイト内・外の検索]から[CenterParent]をキーワードにGoogle等で検索して
見て下さい。
http://www.google.com/search?q=CenterParent&num=50&hl=ja&filter=0&lr=lang_ja&ie=Shift_JIS

[ツリー表示へ]
タイトルRe^2: CenterParent プロパティ設定について(画面の中央に表示)
記事No7564
投稿日: 2008/05/19(Mon) 11:02
投稿者ゆうや
魔界の仮面弁士さん、花ちゃんさん>
早速のお返事ありがとうございました。

フォームを表示する時は、ご指摘の通り、
ShowDialog(Me)、Show(Me)のように、親フォームを指定していました。

ただ、花ちゃんさんが教えてくれたリンク先のページによると、
モードレスフォームでの表示の場合は、表示する位置を自分で計算する必要がある
とのことでした。

コチラのページを探していませんでした。失礼しました。

ありがとうございました。

[ツリー表示へ]