2012-01-14 9 views
-1

メニューは正常に動作します。 GenerateMemberはオンです。問題は、私がコードで(それをいくつかの動的な項目を入れるために)操作しようとしていて、見つけられないということです。私のメインメニューはどこですか?

MainMenuStripはnullです。メニューはnullです。それはControlから継承されないため、コントロールに入れることはできません。

どこですか?

私はコードを使ってメニューを探していますが、コンポーネントの名前を知るだけではありません。私は渡されたフォームを取ってそれを見つけたい。

+0

?もしそれが初期化される前に( 'InitializeComponent()'、少なくともVB.NETでは) 'null'になります。例えばすぐにクラスメンバーに割り当てることはできませんでした。 – Ryan

+4

それはすぐそこです!あなたはそれを見ることができません!?!?いい加減にして。十分な情報を提供していないときに、どうやって答えを出すべきですか? –

+0

.designer.csファイルを見て、宣言がどこにあるかを確認してください。あなたはGenerateMemberが本当だと言うが、もし何かがデザイナーを壊してしまった場合は、InitializeComponent()に宣言を置いているかもしれない(これはGenerateMemberがfalseのときのものである)。デザイナーは完璧ではありません。これらのことは起こります。時にはそれを削除してからやり直さなければならないこともあります。 –

答えて

2

あなたは(一つだけMenuStripを想定して)これを試すことができます:あなたはメニューを使用している

public static MenuStrip FindMenuStrip(Form fromForm) { 
    return fromForm.Controls.OfType<MenuStrip>().FirstOrDefault(); 
} 
関連する問題