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

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

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

Re[3]: Alt + Tab の一覧表示を非表示にしたい。


(過去ログ 76 を表示中)

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

■44825 / inTopicNo.1)  Alt + Tab の一覧表示を非表示にしたい。
  
□投稿者/ hs (171回)-(2009/12/18(Fri) 15:53:39)

分類:[VB.NET/VB2005 以降] 

VS2008 VB

いつもお世話になっております。

windowアプリでどうにもうまくいかなくて困っております。
Windowsの機能で Alt + tab で現在起動している一覧が表示される部分です。

メイン画面のみタスクバーに表示される様に設定しています。
設計上は、設定画面などいくつかのポップアップ画面があります。
これらのフォームプロパティでShowInTaskbarはFalseとしタスクバーには表示しないようにしています。
しかし1つだけFormBorderStyleをNoneしているものがあります。
このフォームだけがタスクバーに表示はされないものの、Alt+Tabの一覧でフォームアイコンが表示されてしまいます。
ただしFormBorderStyleをFixedToolWindowかFixedDialogに設定すると、Alt+Tabでも表示されなくなります。
しかしどうしてもウィンドウ枠はあってはいけないものなので困っております。

どなたか解決策をご教授ください。
よろしくお願いします。
引用返信 編集キー/
■44827 / inTopicNo.2)  Re[1]: Alt + Tab の一覧表示を非表示にしたい。
□投稿者/ hs (172回)-(2009/12/18(Fri) 15:55:22)
追記です

ControlBox・minimizeBox・maximizeBox・ShowIconプロパティもすべてFalseに設定しております。
引用返信 編集キー/
■44836 / inTopicNo.3)  Re[1]: Alt + Tab の一覧表示を非表示にしたい。
□投稿者/ 魔界の仮面弁士 (1434回)-(2009/12/19(Sat) 09:39:48)
No44825 (hs さん) に返信
> ただしFormBorderStyleをFixedToolWindowかFixedDialogに設定すると、Alt+Tabでも表示されなくなります。
> しかしどうしてもウィンドウ枠はあってはいけないものなので困っております。

「表示されなくなる設定」にした上で、ウィンドウ枠を消すために
Region プロパティを割り当てるというのは如何でしょうか。

より簡単な解決方法があるのかどうかは調べていませんが、
とりあえず、Region にて枠を消す事はできるかと思います。
引用返信 編集キー/
■44837 / inTopicNo.4)  Re[2]: Alt + Tab の一覧表示を非表示にしたい。
□投稿者/ ダッチ (4回)-(2009/12/19(Sat) 10:45:07)
ダッチ さんの Web サイト
Form の拡張スタイルに WS_EX_TOOLWINDOW を適用してあげれば、Alt + Tab に表示されなくなると思います。

Class FormBorderStyleをNoneにしているForm

    Private Const WS_EX_TOOLWINDOW As Integer = &H80
    Protected Overrides ReadOnly Property CreateParams() As System.Windows.Forms.CreateParams
        Get
            Dim p As CreateParams = MyBase.CreateParams
            p.ExStyle = p.ExStyle Or WS_EX_TOOLWINDOW
            Return p
        End Get
    End Property

End Class

引用返信 編集キー/
■44843 / inTopicNo.5)  Re[3]: Alt + Tab の一覧表示を非表示にしたい。
□投稿者/ hs (173回)-(2009/12/21(Mon) 09:57:05)
No44836 魔界の仮面弁士
No44837 ダッチ さん

みなさんいつもありがとうございます。

> Class FormBorderStyleをNoneにしているForm
> Private Const WS_EX_TOOLWINDOW As Integer = &H80
> Protected Overrides ReadOnly Property CreateParams() As System.Windows.Forms.CreateParams
> Get
> Dim p As CreateParams = MyBase.CreateParams
> p.ExStyle = p.ExStyle Or WS_EX_TOOLWINDOW
> Return p
> End Get
> End Property
> End Class

思う通りの結果が得られました。
また何かあった時はよろしくお願いいたします。
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -