none
WPF ドラッグ&ドロップ後にWindowを前面に表示したい RRS feed

  • 質問

  • エクスプローラーで表示したC:\からアイコンをドラッグ&ドロップしてファイル名を読み取るサンプルプログラムです。
    MainWindowの後にC:\フォルダーを表示したWindowが開きますが、これをMainWindowの上に重ねてからドラッグ&ドロップして下さい。

    この時に、ドロップを受けたMainWindowを再前面に表示させたいのですが、できません。
    Me.Topmost = True としていますが、動作しません。

    どうすればMainWindowを再前面に表示できますか。

    ◆XAML

    <Window x:Class="MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="" Height="447.674" Width="471.442" AllowDrop="True" HorizontalAlignment="Left" VerticalAlignment="Top" MinHeight="560" MinWidth="504">
        <Grid x:Name="grid1" Background="#FFF5E9E9" Margin="0,0,0,160">
        </Grid>
    </Window>

    ◆コード

    Class MainWindow

        Private Sub MainWindow_Loaded(sender As Object, e As System.Windows.RoutedEventArgs) Handles Me.Loaded
            System.Diagnostics.Process.Start("C:\")
        End Sub


        Private Sub ListBox1_DragOver(ByVal sender As Object, ByVal e As System.Windows.DragEventArgs) Handles grid1.DragOver
            e.Handled = True
        End Sub


        Private Sub ListBox1_Drop1(ByVal sender As Object, ByVal e As System.Windows.DragEventArgs) Handles grid1.Drop
            Dim s As String
            Dim files() As String = e.Data.GetData(DataFormats.FileDrop)

            Me.Topmost = True 'アプリケーション自身が前面に来ない

            Debug.Print(files(0))
        End Sub

    End Class

    • 編集済み huahi11112 2019年7月3日 2:48 誤記
    2019年7月3日 2:46

回答

  • Me.Activate() ではいかがでしょうか。私の環境では下記のコードで前面に表示されました。

    Class MainWindow
        Private Sub Window_Drop(sender As Object, e As DragEventArgs)
            Me.Activate()
        End Sub
    End Class
    

    • 回答としてマーク huahi11112 2019年7月3日 4:30
    2019年7月3日 3:53

すべての返信

  • Me.Activate() ではいかがでしょうか。私の環境では下記のコードで前面に表示されました。

    Class MainWindow
        Private Sub Window_Drop(sender As Object, e As DragEventArgs)
            Me.Activate()
        End Sub
    End Class
    

    • 回答としてマーク huahi11112 2019年7月3日 4:30
    2019年7月3日 3:53
  • kenjinoteさん、御回答誠にありがとうございました。

    こちらでも動作が確認できました。今後もよろしくお願い致します。

    2019年7月3日 4:32