2009-08-28 8 views
2

MDIコンテナフォームと、タイトルバーテキスト自体を個別に更新する子フォームがあります。子フォームでTextプロパティを変更すると、メニューが開かれたときにウィンドウリストメニューの子からの新しいタイトルバーテキストが更新されません。これは、MdiWindowListItemプロパティを使用して.NETによって提供される自動生成ウィンドウリストです。MDIウィンドウリストが子タイトルバーテキストを更新しない

変更は、別のイベントがウィンドウリストを物理的に変更したときにのみ伝播します(新しい子を開く、子を閉じる、別の子に切り替える)。

プログラムでウィンドウリストの更新を強制する方法はありますか?子供のタイトルバーのテキストが変更されると同時に、メニューの有効化/無効化を行うためのコードがすでに用意されています。

ノー成功を収めて、次を試してみました:メインMenuStrip上

  • アップデート()
  • リフレッシュ()メインMenuStrip
  • 無効化()上のウィンドウにMenuStrip
  • 無効化( )
  • 実行時にウィンドウリスト項目の1つでチェック状態を2回トグル

メニュー項目、その親のToolStrip、またはメニューシステムを含む親フォームで呼び出すことができる他のリモート実行可能な機能はないようです。

答えて

7

上記溶液が私のために動作しませんでした。しかし、私はリンクをたどって、完全に動作しており、これを見つけた:

private void windowMenu_DropDownOpening(object sender, EventArgs e) 
{ 
    if (this.ActiveMdiChild != null) 
    { 
     Form activeChild = this.ActiveMdiChild; 

     ActivateMdiChild(null); 
     ActivateMdiChild(activeChild); 
    } 
}

ありがとうございました!

関連する問題