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

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

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

Re[4]: WPF/C# WindowStyle=Noneの場合の最大化


(過去ログ 32 を表示中)

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

■15401 / inTopicNo.1)  WPF/C# WindowStyle=Noneの場合の最大化
  
□投稿者/ 葵 (1回)-(2008/03/12(Wed) 13:25:58)

分類:[.NET 全般] 

開発環境はVS2005です。

表題のように、System.Windows.WindowクラスにてWindowStyleをNoneとした時に
最大化( WindowState=WindowState.Maximized )すると、
フルスクリーンとなるのですが、
これを通常の最大表示(タスクバーを隠さない)にしたいと思っております。

タイトルバーも自作ですので、自作の最大化処理を追加してみましたが、
最大化時の動作や、タスクバーの幅や位置を動かした時の挙動などが
あまり芳しくありません。

一瞬WindowStyleをSingleBorderWindow等にしてから最大化、
その後Noneに戻す、というのもタイトルバーが見えてしまって
見かけ上問題がありました。

何か良い方法等ありますでしょうか?

よろしくお願いいたします。

引用返信 編集キー/
■15431 / inTopicNo.2)  Re[1]: WPF/C# WindowStyle=Noneの場合の最大化
□投稿者/ myugaru (47回)-(2008/03/12(Wed) 19:17:48)
myugaru さんの Web サイト
2008/03/12(Wed) 19:35:31 編集(投稿者)

 
引用返信 編集キー/
■15433 / inTopicNo.3)  Re[2]: WPF/C# WindowStyle=Noneの場合の最大化
□投稿者/ myugaru (48回)-(2008/03/12(Wed) 19:20:59)
myugaru さんの Web サイト
No15401 (葵 さん) に返信

あ、すみません。
Windowクラスは確認してないけど大体同じことはできる思います。
ご自分で確認ください。できなければまた質問ください。
引用返信 編集キー/
■15439 / inTopicNo.4)  Re[3]: WPF/C# WindowStyle=Noneの場合の最大化
□投稿者/ myugaru (49回)-(2008/03/12(Wed) 19:36:22)
myugaru さんの Web サイト
2008/03/12(Wed) 20:32:49 編集(投稿者)

No15401 (葵 さん) に返信
(すみません内容を取り違えて間違った答えを書きました。書き直しました。)

System.Windows.Screen.GetWorkingArea

というメソッドがあります。これはデスクトップのタスクバーの領域以外の領域の大きさを返します。

ただ問題はこれがWPFに属するメソッドではないのです。

これに渡す引数もSystem.Windows.Forms配下のコントロールやSystem.Drawing.Pointなどになるので、WPFでは不適切な回答です。たぶん。

それと環境はVistaでのご質問の様な気がとてもするのでこれも気休めにしかならないのかもしれませんが、デスクトップは少なくともXP以前であれば.Net環境下ではなくアンマネージドな環境に属するものですのでXP以前ならWPFに絡めても動作するはずです。(たとえば実装される場合は何か見えないFormなど用意するとか・・・)

ということですみません。私の出る幕ではありませんでした。
この回答もろとも無視してもらっても結構です。

例)Windows.Formsの場合です。WPFじゃないです。
using System.Drawing;
using System.Windows.Forms;

namespace TestApp
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
Rectangle rc = Screen.GetWorkingArea(this);
this.Size = rc.Size;
}
}
}
引用返信 編集キー/
■15521 / inTopicNo.5)  Re[4]: WPF/C# WindowStyle=Noneの場合の最大化
□投稿者/ 葵 (2回)-(2008/03/14(Fri) 14:49:44)
>myugaru様

ありがとうございます。
説明不足な感があり、申し訳ありませんでした。

GetWorkingAreaは一応使えるみたいでした。
やはり、それで取得した値をWindowのLeftやらWidthやらに設定して
オリジナル最大化をしないとダメなんでしょうかね。

そもそもタイトルバーなしのウィンドウの最大化はフルスクリーンだ、という
ことで、今回の件は仕様を変えてもらうように持っていきます。

ありがとうございました。
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -