2011-06-20 17 views
1

解決方法のような同様の問題があるPrevent main form from appearing when showing another form。しかし、いくつかの提案はメインアプリケーションを最小限に抑えて表示されていたので、私の主なアプリケーションはWindowsデスクトップを置き換えるための他のすべてのアプリケーションの下にあるデスクトップになっているため、できません。そして第2の形式は、付箋であると考えられています。だから私はそれがユーザーの背景や他のコントロールを持っているので、メインウィンドウを最小限に抑える。私はメモの親をNothingポインタ、デスクトップへのポインタ、dllを介してフォームを作成しようとしましたが、私は成功しませんでした。vb.netフォーム2がクリックされたときにフォーム1がアクティブにならないようにする

私の主な問題は、私はノートをクリックしたとき(Form2の)Form1がさえForm1がCreateParamsを内WS_EX_NOACTIVATEを持って、アップしますということです。 form1はform2.show()を行いますが、それらを添付しないでください。そのポストにpresetedソリューションとのトラブルを抱えて

もう一つの理由イムは、彼らはvb.netでそれをやってデルファイとIMのためのものであるということです。

私に必要なのはコントロールをクリックすると、ノートの背後にあるメインフォームを招くことなく、ノートに書くことができることです。それらを独立させるか、または注釈を第1の形態に集中させないか、またはそれを活動化せずに注釈を操作することができる。知りません。私の最後のリソースは、デスクトップに私のメインフォームを添付することですが、システムに問題を引き起こす可能性があるため、あなたができる最悪のことは聞いたことがあります。

+0

を試してみてください、それが動作しない場合は、モーダル

Dim f2 as New Form2 f2.ShowModal() 

としてのForm2を表示する方法でありますform2を表示する前に背景? Form2.Visible = FalseまたはForm1.Opacity = 0をForm2.Show()を呼び出す前に設定しようとしましたか? –

+0

よろしくお願いします。 form1は、デスクトップ上に置かれた最大化されたボーダレスフォームです。これを行うには、API setPositionを使用してZlayerの背面に送信し、noactivateオプションを設定します。その後、私はform1からform2を作成し、.show()を実行します。すべては今まで正しく行われています。しかし、私がform2をクリックするとすぐに、form1はform2でフォアグラウンドになります。 form2はまだform1以上ですので、私はform2を見ることができますが、form1は今のような他のすべてのアプリの上にあります。私はそれらを再び見るためにaltタブを使うことができますが、私はform1が決して前景に来ないようにしたくありません。私はAlwaysOnBottomオプションをデスクトップに貼り付ける必要があります。 – superjugy

+0

デザインを少し変更して、form2をform1シェルとは別の実行可能ファイルにすることを検討してください。標準入力/出力をリダイレクトして、form2プロセスと対話できます。 –

答えて

0

両方のフォームを共存させたいが、それぞれが共存しないようにする場合:この場合、Form1とForm2の両方を開くように呼び出す3番目のフォームを作成し、 =============私の前のポスト==============」MDIフォームの子フォームとしてのForm1とForm2ので

を提案し、MDIフォーム=========== Form2をモーダルフォームとして表示することで、最初にForm2を閉じてからform1に戻ることができます。ここで私は、私はあなたを以下のよ100%わからないんだけど、Form1がに表示されているように見えるこの

Dim f2 as New Form2 
f2.Show(True) 
+0

form2は却下してはならない、他のすべてのプログラムの下のデスクトップにハングアップする付箋です。私はWindowsデスクトップを新しいデスクトップに置き換えようとしています。 – superjugy

+0

私はそれを試みました。私はmainFormを作成してdesktopFormを作成し、.show()を行ってからnoteFormと.show()を作成しました。メインフォームは最小限に抑えられていたので、タスクバーは表示されていませんでした。私がノートフォームを踏んだときに、デスクトップフォームはメモとともにフォアグラウンドに来ました。それはメモの後ろにとどまったが、タスクバーを含む他のすべてのアプリケーションを引き続きカバーしていた。 – superjugy

+0

私はmdiの実装について考えていますが、メインのmdiフォームまたは親ウィンドウをデスクトップに保持する方法はありますか? – superjugy

関連する問題