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

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

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

Re[3]: VistaでMe.Active


(過去ログ 69 を表示中)

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

■40391 / inTopicNo.1)  VistaでMe.Active
  
□投稿者/ ata (1回)-(2009/08/24(Mon) 22:35:40)

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

開発環境 VS2008
言語 VB.NET
OS Windows Vista


いつもお世話になっております。
今回はとても初歩的な質問で困ってしまい、
相談に参りました。

VistaでFormをMe.Activeすると、
タスクバーがイベントを通知するように
ピカピカオレンジ点滅を繰り返すだけで、
Activeにはなりません。

悪あがきのつもりで
以下も試しました。

SetWindowPos
ShowWindowAsync

ところが両者ともども
Me.Activeと変わらず
ピカピカします。

こんな単純なことで悩んでいることが
かなり恥ずかしいのですが、

どうかお力をお貸し下さい。


以下はソースコード部です。


    Protected Delegate Sub FormActiveInvoker()

    Public Sub FormActive()
        ' 'スレッドチェック
        If Me.InvokeRequired = True Then
            Me.Invoke(New FormActiveInvoker(AddressOf PrivateFormActive), New Object() {})
        Else
            Me.PrivateFormActive()
        End If
    End Sub
    
    Private Sub PrivateFormActive()
       
        ' 'フォームを最前列に表示(アクティブ)
        Me.WindowState = FormWindowState.Normal
        Me.Activate()

    End Sub

引用返信 編集キー/
■40393 / inTopicNo.2)  Re[1]: VistaでMe.Active
□投稿者/ Jitta on the way (408回)-(2009/08/24(Mon) 22:46:56)
No40391 (ata さん) に返信
> 開発環境 VS2008
> 言語 VB.NET
> OS Windows Vista
>
>
> いつもお世話になっております。
> 今回はとても初歩的な質問で困ってしまい、
> 相談に参りました。
>
> VistaでFormをMe.Activeすると、
> タスクバーがイベントを通知するように
> ピカピカオレンジ点滅を繰り返すだけで、
> Activeにはなりません。
>
> 悪あがきのつもりで
> 以下も試しました。
>
> SetWindowPos
> ShowWindowAsync
>
> ところが両者ともども
> Me.Activeと変わらず
> ピカピカします。
>
> こんな単純なことで悩んでいることが
> かなり恥ずかしいのですが、
>
> どうかお力をお貸し下さい。


あー、多分、仕様です。

テキスト入力中、ちょうど Enter キーを押す直前に他のダイアログがアクティブになった。しかし、キーインの指は止まらない。デフォルトのボタンが押された結果、期待しない動作が実行された…、ということを避けるために、アクティブなウィンドウを操作した結果でアクティブなウィンドウが替わるケースでなければ、切り替わりません。

要望を出した一人です(^-^;)
引用返信 編集キー/
■40407 / inTopicNo.3)  Re[2]: VistaでMe.Active
□投稿者/ ata (2回)-(2009/08/25(Tue) 11:00:37)
No40393 (Jitta on the way さん) に返信

> あー、多分、仕様です。
> 
> テキスト入力中、ちょうど Enter キーを押す直前に他のダイアログがアクティブになった。しかし、キーインの指は止まらない。デフォルトのボタンが押された結果、期待しない動作が実行された…、ということを避けるために、アクティブなウィンドウを操作した結果でアクティブなウィンドウが替わるケースでなければ、切り替わりません。
> 
> 要望を出した一人です(^-^;)


返信ありがとうございました。
そうなんですね…。

なんだか非常に残念な仕様の気がします。

苦肉の策で、

      Me.WindowState = FormWindowState.Minimized
        Me.WindowState = FormWindowState.Normal

にすることで強制的にフォームを前に
フォーカスも移してしまいました。

この実装はXPだと
あからさまにおかしな動きに見えますね…

Vistaで困っている方のために残しておきます。
(あくまで、苦肉の策です…涙)

Jitta on the wayさん
ありがとうございました。

解決済み
引用返信 編集キー/
■40432 / inTopicNo.4)  Re[3]: VistaでMe.Active
□投稿者/ Jitta on the way (411回)-(2009/08/25(Tue) 22:05:34)
No40407 (ata さん) に返信
>
> Vistaで困っている方のために残しておきます。


connect の要望を探したのですが、Vista のエントリーはキレイサッパリ消えていました。
代わりに、自分のブログでネタにしていたので、貼っておきます。
http://blogs.wankuma.com/jitta/archive/2006/09/21/39274.aspx
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -