C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: MessageBoxで表示するダイアログの位置と背景色が変


(過去ログ 136 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■80184 / inTopicNo.1)  MessageBoxで表示するダイアログの位置と背景色が変
  
□投稿者/ K.M (1回)-(2016/06/20(Mon) 09:43:42)

分類:[C#] 

VS2010 C#にて、MessageBox.Showで確認ダイアログを表示しているのですが、
表示位置が画面中央ではなく、水平位置は中央、垂直位置が下から1/4くらいの位置になってしまいます。
また、ダイアログ中の背景色が1色ではなく灰色の帯が出てきます。

イメージとしては
+------------------------------------------+
|                                          |
|       ? 保存します。宜しいですか?      |
|                                          |
|==========================================|
|====この辺が灰色==========================|
|==========================================|
|         +---------+      +---------+     |
|         | はい(Y) |      |いいえ(N)|     |
|         +---------+      +---------+     |
+------------------------------------------+
こんな感じです。

表示は以下のように特に変なことはしていないと思います。
if (MessageBox.Show("保存します。宜しいですか?",
     this.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question,
     MessageBoxDefaultButton.Button2) == DialogResult.No)
{
    return;
}

原因、解決方法を知っていたら教えていただけますか?

引用返信 編集キー/
■80190 / inTopicNo.2)  Re[1]: MessageBoxで表示するダイアログの位置と背景色が変
□投稿者/ WebSurfer (947回)-(2016/06/20(Mon) 11:10:13)
No80184 (K.M さん) に返信

自分の環境(Vista SP2 32-bit, .NET 4 Client Profile, Windows Forms アプリ)で、
質問者さんがアップされたコードをそのままコピペして試して見ましたが、以下のよう
になります。

+------------------------------------------+
| Form9                                    |
|                                          |
|       ? 保存します。宜しいですか?      |
|                                          |
|                                          |
|------------------------------------------|
|         +---------+      +---------+     |
|         | はい(Y) |      |いいえ(N)|     |
|         +---------+      +---------+     |
+------------------------------------------+

表示位置は画面中央、上の図の真中の線 ----- の上が白、下が薄い灰色になります。

違うのは質問者さんとの環境の違いではないのですか? 質問者さんの環境でどのように
表示されるのが正解かはわかりませんが・・・

今提供されている情報で自分が言えるのはこの程度ですが、開発環境や何を作っているか
の情報を提供していただけると話が違ってくるかもしれません。(多分、他のエスパーで
はない回答者にとっても同じではないかと思います)

引用返信 編集キー/
■80191 / inTopicNo.3)  Re[2]: MessageBoxで表示するダイアログの位置と背景色が変
□投稿者/ とっちゃん (377回)-(2016/06/20(Mon) 11:57:46)
No80184 (K.M さん) に返信
> VS2010 C#にて、MessageBox.Showで確認ダイアログを表示しているのですが、
> 表示位置が画面中央ではなく、水平位置は中央、垂直位置が下から1/4くらいの位置になってしまいます。
> また、ダイアログ中の背景色が1色ではなく灰色の帯が出てきます。
>
<<省略>>

> 原因、解決方法を知っていたら教えていただけますか?

実行中のOSは何でしょう?利用している .NET Framework のバージョンは?
それと、プロジェクトの種類(Windows Forms なのか、WPFなのか)は何でしょう?
OSによっては、画面DPI も影響する可能性があります。

メッセージボックスは、WPF でも Forms でも最終的に出てくるのは OS の MessageBox です。
そのため、開発環境よりも、実行環境と manifest などのアプリの設定が強く影響します。

また、可能であれば、画面写真なんかをとってどこか共有できる場所にアップしておくと
より的確な回答が得られる可能性があります。


メッセージボックスの表示位置については、MessageBox.Showの最初のパラメータにオーナーウィンドウ(アプリのトップレベルウィンドウ)を
指定すると安定すると思いますよ。

灰色の帯はこれでは解決しないと思いますが。。。
引用返信 編集キー/
■80199 / inTopicNo.4)  Re[3]: MessageBoxで表示するダイアログの位置と背景色が変
□投稿者/ K.M (2回)-(2016/06/21(Tue) 17:45:13)
> 実行中のOSは何でしょう?利用している .NET Framework のバージョンは?
> それと、プロジェクトの種類(Windows Forms なのか、WPFなのか)は何でしょう?
> OSによっては、画面DPI も影響する可能性があります。

失礼しました。
OS:Windows7Pro SP1
.NET Framework4のWindowsFormです。
1920*1080 文字は規定値の小(100%)です。

> メッセージボックスは、WPF でも Forms でも最終的に出てくるのは OS の MessageBox です。
> そのため、開発環境よりも、実行環境と manifest などのアプリの設定が強く影響します。
>
> また、可能であれば、画面写真なんかをとってどこか共有できる場所にアップしておくと
> より的確な回答が得られる可能性があります。
>
>
> メッセージボックスの表示位置については、MessageBox.Showの最初のパラメータにオーナーウィンドウ(アプリのトップレベルウィンドウ)を
> 指定すると安定すると思いますよ。
>
> 灰色の帯はこれでは解決しないと思いますが。。。

オーナーウィンドウ設定してみましたが、表示位置はずれたままでした。




引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -