WPFで右上のバツボタン(閉じるボタン)を表示しないようにする(VB2010,VB.NET)


WPFでタイトルバーのところは表示したいんだケド、右上のバツボタンは表示したくないという時
これで右上に出ているものが全て消え去ります。
VB2010にてのサンプルソース

Imports System.Runtime.InteropServices
Imports System.Windows.Interop
Class MainWindow
    <DllImport("user32.dll")> _
    Private Shared Function GetWindowLong(hWnd As IntPtr, nIndex As Integer) As Integer
    End Function
    <DllImport("user32.dll")> _
    Private Shared Function SetWindowLong(hWnd As IntPtr, nIndex As Integer, dwNewLong As Integer) As Integer
    End Function
    Const GWL_STYLE As Integer = -16
    Const WS_SYSMENU As Integer = &H80000
    Protected Overrides Sub OnSourceInitialized(e As EventArgs)
        MyBase.OnSourceInitialized(e)
        Dim handle As IntPtr = (New WindowInteropHelper(Me)).Handle
        Dim style = GetWindowLong(handle, GWL_STYLE)
        style = style And (Not WS_SYSMENU)
        SetWindowLong(handle, GWL_STYLE, style)
    End Sub
End Class


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>