このMSDN pageによると、Windowを使用していた場合は、左上のコントロールボックスをfalseに設定して無効にできます。このように:this.ControlBox = false;
WPFでシステムメニューを削除するには?
ControlBoxは最大化、最小化、復元して閉じるオプションに
を持っているしかし、私はこのような状況でコントロールボックスを無効にする方法を、代わりにウィンドウのRibbonWindow使用していますので、?
This questionは非常に関連していますが、Alt + Spaceを防ぐのではなく、常にSystemMenuを無効にしたいと考えています。これは、左上隅のSystemMenuのアクションリスナーがXAMLのクリック可能なUI要素をブロックしているからだと思います。
これはWindows Server 2003では問題ではありませんが、Windows 7でアプリケーションを開くと、SystemMenu/ControlBoxは左上隅のUI要素と干渉します。
さらに、私は、システムメニューを妨害すると、通常はアプリケーションの右上隅にあるボタンが無効になることがわかりましたが、そのようなことは起こりたくありません。
ありがとうございますlink Eammonn。その人がやろうとしていることは、左上隅のメニューではなく右上の[X]ボタンを無効にすることですが、間違っている可能性があります。私はそれが動作するとは思わない理由は、彼らは<Window x:Class=
を使用していると私は<dc:RibbonWindow x:Class=
を使用しているということです。これは違いがありますか?
RibbonWindowはどこから来ましたか(私はこれを提供する少なくとも2つの異なるライブラリを知っていますが、どれがどちらを使用しているか不思議です)。 – CodingGorilla
Microsoft.Windows.Control.Ribbon.RibbonWindow –
RibbonWindowについても、Eamonnの答えはWindowの拡張機能なので、うまくいくはずです。 Office 2010はコントロールボックスを再導入しました(アイコン付き)。 Office 2007はそれを隠していた。これはorbやクイックアクセスツールバーに干渉しますか? – CodeNaked