none
Windows 8.1 64bit フォームアプリケーションとWPFについて RRS feed

  • 質問

  • VisualStudio2013(.netFreamWorkk4.5.1)でフォームアプリケーションを開発しています。

    大型のディスプレイでも対応できるよう、画面の起動処理で画面サイズを解像度に合わせて拡大する処理を入れています。

    テーブルレイアウトパネルに各コントロールを乗せて拡大に対応しています。

    メッセージボックスは解像度により拡大する事が出来ないので、メッセージボックスをWFPで作成しました。

    問題は、このWFPで作成したメッセージボックスを表示すると肝心の画面サイズが元に戻ってしまう現象が起こっています。

    起こるのはWindows 8.1  64bit だけです。

    Windows8.1 32Bit/Windows7 32Bit/Windows7 64Bit では起こりません。

    画面サイズが変更されない方法はありますでしょうか?

    対応方法を教えて下さい。

     

    2014年9月29日 1:35

すべての返信

  • Form1.cs

    -------

    private void Form1_Load(object sender, EventArgs e)

    {

        // Full Screen にする

        this.Left = 0;

        this.Top = 0;

        Rectangle rec = Screen.PrimaryScreen.Bounds;

        this.Height = rec.Height;

        this.Width = rec.Width;

    }

    private void button1_Click(object sender, EventArgs e)

    {

        // WPF のウィンドウを呼び出す

        var wnd = new MainWindow();

        wnd.ShowDialog();

    }

    -------

    ビルド後、アプリケーションの実行体ファイル(.exe)を右クリックし、

    [プロパティ]>[互換性]>[高DPI設定では画面のスケーリングを無効にする]にチェックを入れる。

    (デバッグ実行ではなく)実行体ファイルから直接起動する。

    で回避出来ませんか?

    2014年10月7日 6:52