DOBON.NET DOBON.NETプログラミング掲示板過去ログ

メインフォームから動的に作成したフォームのコントロールへフォーカスを移動する方法を教えてください。

環境/言語:[VS2010/VB.NET]
分類:[.NET]

VB.NET初心者です。教えてください。
表題の件についてですが,まずやりたいことと現状を以下に記します。


メインメニューのタブページにタブ追加ボタンがあり,ボタンを押すと,タブページをメインメニューのタブコントロールに追加します。

タブ追加ボタンは機能ごとにあり,追加されるタブページも機能ごとにデザイナであらかじめフォームごと作成しておきます。対象の追加ボタンを押すたびにボタンと対になっているフォームのインスタンスを作成して,そこにあるタブページをメインメニューのタブコントロール内にAddしてます。

すでにタブコントロール内にAddされたタブページは,追加ボタンを押した場合,追加せずにそのタブをSelectedTabで表示します。(同じ機能のタブページはいくつも追加されない)

タブページを右クリックした場合,コンテキストメニューが表示され,そのコンテキストメニュー内の「新規ウィンドウで表示」を選択すると,新しいフォームが作成・表示され,その新しいフォーム上のタブコントロールに,上記と同じようにタブページをAddし,移動させます。

ここからが教えていただきたいことです。
上記にて別フォームに移動しているタブページに対し,メインメニューでそのタブページの追加ボタンを押した場合,メインメニューのタブコントロールに追加せず,別フォームのタブページにフォーカスが移動するようにしたいです。

どんな処理方法で実現可能か考えつきません。
以上,よろしくお願い致します。
■No30372に返信(tbhbxbさんの記事)
> VB.NET初心者です。教えてください。
> 表題の件についてですが,まずやりたいことと現状を以下に記します。
>
>
> メインメニューのタブページにタブ追加ボタンがあり,ボタンを押すと,タブページをメインメニューのタブコントロールに追加します。
>
> タブ追加ボタンは機能ごとにあり,追加されるタブページも機能ごとにデザイナであらかじめフォームごと作成しておきます。対象の追加ボタンを押すたびにボタンと対になっているフォームのインスタンスを作成して,そこにあるタブページをメインメニューのタブコントロール内にAddしてます。
>
> すでにタブコントロール内にAddされたタブページは,追加ボタンを押した場合,追加せずにそのタブをSelectedTabで表示します。(同じ機能のタブページはいくつも追加されない)
>
> タブページを右クリックした場合,コンテキストメニューが表示され,そのコンテキストメニュー内の「新規ウィンドウで表示」を選択すると,新しいフォームが作成・表示され,その新しいフォーム上のタブコントロールに,上記と同じようにタブページをAddし,移動させます。
>
> ここからが教えていただきたいことです。
> 上記にて別フォームに移動しているタブページに対し,メインメニューでそのタブページの追加ボタンを押した場合,メインメニューのタブコントロールに追加せず,別フォームのタブページにフォーカスが移動するようにしたいです。
>
> どんな処理方法で実現可能か考えつきません。
> 以上,よろしくお願い致します。

"メインメニュー" と書かれているのは、メニューが表示された Form という理解でよろしいですか? (以下 MainForm と記します)
MainForm から別の Form を表示するためには、別の Form のインスタンス (参照) を MainForm が知っている必要があります。
現在はどういった状況かはわかりませんが、(トピック タイトルに動的に作成しているとあるので、参照は取れますよね) 別の Form にアクティブにするための処理メソッドを実装して、それを MainForm から呼ぶだけですね。

DOBON.NET | プログラミング道 | プログラミング掲示板