簡體   English   中英

C#Windows窗體,不在任務欄中顯示表單,但在其中顯示的表單集中時使其顯示在前面

[英]C# Windows Forms, do not show a form in taskbar, but make it go on front when a form that is shown there is focused

我正在創建一個具有類似於Photoshop的界面的應用程序:多個單獨的表單都有助於編輯對象。 所以,我將有多個表單,其中一個是“main”(提供文件菜單,設置菜單,等等),其他表單有控件,用於編輯以主窗體打開的對象。

讓我們說簡單,這是一個文本編輯器,我有MainForm和StyleForm。 現在,我需要的是整個應用程序在Windows任務欄中顯示為一個“欄”。 這可以通過為StyleForm設置ShowInTaskbar為false來實現,但是如果我,比如聚焦其他應用程序,然后關注我的應用程序,只有MainForm將在其他窗口之上,StyleForm將保持隱藏在我專注的應用程序窗口下先前。

我在這里找到答案當選擇一個表單但導入一個dll 時,使與程序關聯的所有表單都出現在前面 也許這有一個.net解決方案?

另外,我想在任務欄中顯示不同的內容,而不是MainForm的標題,這可能嗎?

我將第二個表單設置為ShowInTaskBar = false ,將FormBorderStyle設置為SizableToolWindow ,然后使用以下代碼創建它:

public partial class Form1 : Form
{
    Form2 f2;

    public Form1()
    {
        InitializeComponent();

        f2 = new Form2();
        f2.Owner = this;  // <-- This is the important thing
        f2.Show();
    }
}

這使得子窗體F2上的頂桿Form1和隱藏和顯示它在Form1被隱藏和顯示。

編輯
哦,如果這很重要,我使用Visual Studio 2010和.NET 4 Client Profile。 但是,這應該適用於其他版本。

在主窗口中,您可以捕獲Focus事件,然后為每個子窗體調用BringToFront方法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM