- - PR -
[VB.NET]コンポーネントから親FORMのHandle取得
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-05-25 18:00
新規に「コンポーネントの追加」で自作コンポーネントを
作成しました。それを別プロジェクトから参照し、Formに 貼り付け実行をしています。 その際に自作コンポーネント側から親Formのウィンドウ ハンドルを取得したいのですが、取得できず苦戦しています。 どなたかヒントがあればご教授の程、宜しくお願い致します。 WinXP SP1 + .NET Framework1.0 + VS.NET 2002 | ||||||||||||
|
投稿日時: 2005-05-25 18:16
Control.Parentで取れません?
_________________ 甕星 <mikahosi@abox9.so-net.ne.jp> http://blogs.msmvp.jp/mikahosi/ | ||||||||||||
|
投稿日時: 2005-05-25 18:22
こんにちは、じゃんぬ です。
それって本当にコンポーネントなんですか? 何か違う気が... カスタム コントロールではないですよね? カスタムコントロールであれば、this.FindForm().Handle ですけど... _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2005-05-25 18:41
で記述が始まってますのでカスタムコントロールでは無いと思います。 ツールボックスからFormにドラッグ&ドロップした時にTimerコントロール と同じ場所(コンポーネントトレイ?)に入れたかったので カスタムコントロールとしていません。
インテリセンスでParentが出てきません。多分System.Windows.Forms.Control を継承していないせいだと思うのですが…。 [ メッセージ編集済み 編集者: ophiuchus 編集日時 2005-05-25 19:06 ] | ||||||||||||
|
投稿日時: 2005-05-25 21:24
簡単には出来ないと思うな。 Cmoponent が貼られる先は Form とは限らないもの。 どうしても親 Form のウィンドウハンドルが必要な造りなら、Control として作ったほうがいいと思う。 _________________ // 渋木宏明 (Hiroaki SHIBUKI) // http://hidori.jp/ // Microsoft MVP for Visual C# // // @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/ | ||||||||||||
|
投稿日時: 2005-05-26 01:54
南部です。
ダメ、、、? デザイン時にParentプロパティにセット | ||||||||||||
|
投稿日時: 2005-05-26 05:57
それでいいなら質問しないような。。。 てか、プロパティにしないでも public なフィールドでもいいわけだし。 そういう方向なら、IComponent.Site を無理やり Form1 とかでキャストしてみるとか。 _________________ // 渋木宏明 (Hiroaki SHIBUKI) // http://hidori.jp/ // Microsoft MVP for Visual C# // // @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/ | ||||||||||||
|
投稿日時: 2005-05-26 08:51
でも、VS.NET のビジュアルデザイナで Component を貼り付けたときって、
IComponent.Site が設定されていない(メンバ変数にインスタンスを格納するだけ) な気がするんですが… デザイン時には使っているのかもしれませんが。 |