即時通訊有一個類似的問題,像這裏的解決方案Prevent main form from appearing when showing another form。但一些建議是最大限度地減少主應用程序,所以它不顯示,我不能做,因爲我的主要應用程序應該是一個桌面,在所有其他應用程序的下面,以取代Windows桌面。第二種形式應該是粘滯便箋。所以我不能最小化主窗口,因爲它有用戶背景和其他控件。我試圖使筆記的父母沒有指針,指向桌面的指針,通過DLL創建表單,但我沒有成功。vb.net防止表單1被激活當表單2被點擊
我的主要問題是,當我點擊一個音符(form2)form1時,即使form1在createparams中有WS_EX_NOACTIVATE。 form1執行form2.show(),但不應附加它們。
另一個原因,即在該帖子中預先解決的問題是,他們是爲delphi和即時通訊在vb.net做。
我所需要的是能夠點擊控件並在筆記中寫入主要形式的筆記中。或者使它們獨立,或者使筆記不聚焦第一種形式,或者在沒有激活的情況下能夠操作筆記。我不知道。我的最後一個資源是將我的主窗體附加到桌面上,但我聽說是最糟糕的事情,因爲它可能會導致掛起系統的問題。
我不是100%肯定,我跟着你但現在看來,Form1將在顯示顯示form2之前的背景?如果是這樣,你有沒有嘗試在調用Form2.Show()之前設置Form1.Visible = False或Form1.Opacity = 0? –
好的,讓我澄清一下。 form1是位於桌面上的最大化邊界形式。要做到這一點,我使用了API setPosition並將它發送到Zlayer的後面並放置了noactivate選項。之後,我從form1創建form2並執行.show()。一切正常,直到現在。但只要我點擊form2,form1就會以form2來到前臺。 form2仍然在form1之上,所以我可以看到form2,但form1現在已經覆蓋了所有其他類似word的應用程序。我可以alt標籤再次看到他們,但我不想form1永遠不會到前臺。我想要一個AlwaysOnBottom選項將其粘貼到桌面上。 – superjugy
您可能需要考慮稍微改變一下設計,並讓form2成爲一個單獨的可執行文件,即form1 shell。您可以重定向標準輸入/輸出以與form2進程交互。 –