- - PR -
[C#]常にタスクバーの位置・サイズを知っておきたい。
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-06-09 16:42
お世話になります。
新しいFORMをタスクバーとかぶらないように右下に表示しています。 そのFORMを表示中に、タスクバーのサイズを変更したら一緒にFORMもタスクバーに 合わせて表示位置をずらしていきたいのですが、どうしたらよいかわかりません。 どなたかご存知の方、ご教授お願い致します。 | ||||
|
投稿日時: 2005-06-09 17:05
こんにちは、じゃんぬ です。
フォームの位置をデスクトップ座標で変更する _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2005-06-09 17:16
で、変更されたタイミングを捕捉したい場合には、
WM_SETTINGCHANGE を拾えばいいのかな?(自信なし) | ||||
|
投稿日時: 2005-06-10 18:13
お世話になります。
じゃんぬ様、どうもありがとうございました。 フォーム表示前に、this.SetDesktopBounds(64, 32, 512, 256);処理をすることで、 タスクバーのサイズが変わるとフォームの位置もずれるという対応ができました。 そこでなのですが、もう1つ悩んでいることがあります。 FORM1からFORM2を呼んで画面上に表示させています。表示させる時は、 int ScreenWidth = Screen.PrimaryScreen.WorkingArea.Width; int ScreenHeight = Screen.PrimaryScreen.WorkingArea.Height; でタスクバーを除けた画面縦横幅を取得して画面右下に表示させています。 FORM2が表示された後、一旦そのFORM2をCloseしてタスクバーのサイズを変更した後、 またFORM1からFORM2を呼んでみると、上記タスクバーを除けた画面縦横幅が更新されず 前回表示させたとこと同じ場所にFORM2が表示されてしまいます。 上記、タスクバーを除けた画面縦横幅を取得する処理はFORM2を表示させる度に 処理しているのですが、更新されていなくうまくいきません。。 タスクバーのサイズを変更したにも関わらず、正確な画面縦横幅がなぜ取得できないのでしょうか? 以上、宜しくお願い致します。 | ||||
|
投稿日時: 2005-06-10 18:22
こんにちは、じゃんぬ です。
もしかして、OS は Windows XP で、XP テーマ (MSSTYLE) を適用していませんか? _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2005-06-10 18:30
お世話になります。フマキロンです。
OSは「WindowsXP」を使用しております。 XPテーマというのは、画面プロパティのところで確認したらいいのでしょうか? |
1