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

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

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

Re[4]: 常に最前面にする方法


(過去ログ 99 を表示中)

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

■58972 / inTopicNo.1)  常に最前面にする方法
  
□投稿者/ すいか (3回)-(2011/05/07(Sat) 09:48:53)

分類:[C#] 

C#2008でformを常に最前面にしたいと思っていますが分からない状態です

条件としては
・アクティブでなくても最前面
・タスクバーよりも最前面
・第3者が作ったソフトが常駐していて、それよりも最前面にしたい

this.TopMost = true ;
上記だとタスクバーがアクティブになるとformがタスクバーの後ろに隠れてしまいます
第3者が作ったソフトもアクティブな方が最前面になってしまいます

どなたかご教示くださいませ
引用返信 編集キー/
■58973 / inTopicNo.2)  Re[1]: 常に最前面にする方法
□投稿者/ やじゅ (1893回)-(2011/05/07(Sat) 13:06:19)
やじゅ さんの Web サイト
No58972 (すいか さん) に返信
> C#2008でformを常に最前面にしたいと思っていますが分からない状態です
>
> 条件としては
> ・アクティブでなくても最前面
> ・タスクバーよりも最前面
> ・第3者が作ったソフトが常駐していて、それよりも最前面にしたい
>
> this.TopMost = true ;
> 上記だとタスクバーがアクティブになるとformがタスクバーの後ろに隠れてしまいます
> 第3者が作ったソフトもアクティブな方が最前面になってしまいます
>
> どなたかご教示くださいませ

別途、常駐ソフトでも作成しないと単独では出来ないんじゃないかな。

下記サイトのフリーソフトのPinZを使えば、条件を満たすことは出来ます。

電卓を常にウィンドウの最前面に表示する
http://bizmakoto.jp/bizid/articles/0809/02/news045.html
引用返信 編集キー/
■58981 / inTopicNo.3)  Re[2]: 常に最前面にする方法
□投稿者/ すいか (4回)-(2011/05/08(Sun) 04:44:23)
2011/05/08(Sun) 06:30:28 編集(投稿者)
2011/05/08(Sun) 06:29:03 編集(投稿者)

<pre><pre>> 別途、常駐ソフトでも作成しないと単独では出来ないんじゃないかな。
>
> 下記サイトのフリーソフトのPinZを使えば、条件を満たすことは出来ます。
>
> 電卓を常にウィンドウの最前面に表示する
> http://bizmakoto.jp/bizid/articles/0809/02/news045.html


さようでしたか
不特定多数のPCでの利用ですので別アプリを使うのは難しそうです

さらに質問ですが、下記のようにしたら一応、最前面にいます

ツールボックス、コンポーネント、Timerを追加

private void form1_Load(object sender, EventArgs e)
{
timer1.Enabled = true;
timer1.Interval = 10;
timer1.Start();
}

private void timer1_Tick(object sender, EventArgs e)
{
if (form1.ActiveForm != this) // form1 がアクティブか判定
{
this.TopMost = true;
}
}

若干チカチカするときもありますが一応これで動いていてくれてます
これはプログラムをする人からみたらどうなのでしょうか?
「それはないだろぉ」ってことは無いでしょうか?

1秒間に100回もプロパティを変更することに対して
なにか疑問を感じてしまいます</pre></pre>
引用返信 編集キー/
■58985 / inTopicNo.4)  Re[3]: 常に最前面にする方法
□投稿者/ Azulean (743回)-(2011/05/08(Sun) 10:31:26)
No58981 (すいか さん) に返信
> 不特定多数のPCでの利用ですので別アプリを使うのは難しそうです

個人的には、不特定多数にこんな迷惑な挙動をするアプリケーションを提供してよいのかと疑問に感じます。
常に最前面に出てくるなんて、非常に邪魔なので…。(邪魔になることを目指しているアプリケーションなのか?)


> 若干チカチカするときもありますが一応これで動いていてくれてます
> これはプログラムをする人からみたらどうなのでしょうか?
> 「それはないだろぉ」ってことは無いでしょうか?

ええ、それはないだろと思います。
先にも書いたように、常に最前面って本当に必要なのかという疑問にプラスする形で、10ms 単位で変更する必然性が見えません。
せいぜい、1 秒に 1 回でも十分じゃないですか?(あるいは、数秒に 1 回でも)

ところで、最前面に表示するアプリケーションが複数存在した場合、お互いが最前面に出ようとしてひどいことにならないでしょうか?
引用返信 編集キー/
■58997 / inTopicNo.5)  Re[3]: 常に最前面にする方法
□投稿者/ やじゅ (1894回)-(2011/05/08(Sun) 21:49:01)
やじゅ さんの Web サイト
No58981 (すいか さん) に返信
>下記サイトのフリーソフトのPinZを使えば、条件を満たすことは出来ます。

すみません、フリーソフトのPinZを使っても条件を満たすことは出来ませんでした。
やはり、タスクバーがアクティブになるとformがタスクバーの後ろに隠れてしまいます。

タイマーを使う案で条件を満たすなら、それで良いかと思います。
若干のちらつきは、間隔を大きくするか、個人で設定をもたせるなりするとか。
引用返信 編集キー/
■59002 / inTopicNo.6)  Re[4]: 常に最前面にする方法
□投稿者/ すいか (5回)-(2011/05/09(Mon) 05:51:13)
なるほど、了解しました
アプリケーションの挙動を含め、色々と検討してみます
ありがとうございました
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -