解決方法のような同様の問題がある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の形態に集中させないか、またはそれを活動化せずに注釈を操作することができる。知りません。私の最後のリソースは、デスクトップに私のメインフォームを添付することですが、システムに問題を引き起こす可能性があるため、あなたができる最悪のことは聞いたことがあります。
を試してみてください、それが動作しない場合は、モーダル
としてのForm2を表示する方法でありますform2を表示する前に背景? Form2.Visible = FalseまたはForm1.Opacity = 0をForm2.Show()を呼び出す前に設定しようとしましたか? –
よろしくお願いします。 form1は、デスクトップ上に置かれた最大化されたボーダレスフォームです。これを行うには、API setPositionを使用してZlayerの背面に送信し、noactivateオプションを設定します。その後、私はform1からform2を作成し、.show()を実行します。すべては今まで正しく行われています。しかし、私がform2をクリックするとすぐに、form1はform2でフォアグラウンドになります。 form2はまだform1以上ですので、私はform2を見ることができますが、form1は今のような他のすべてのアプリの上にあります。私はそれらを再び見るためにaltタブを使うことができますが、私はform1が決して前景に来ないようにしたくありません。私はAlwaysOnBottomオプションをデスクトップに貼り付ける必要があります。 – superjugy
デザインを少し変更して、form2をform1シェルとは別の実行可能ファイルにすることを検討してください。標準入力/出力をリダイレクトして、form2プロセスと対話できます。 –