我想要一個winform庫,允許用戶將多個窗口合併到單個窗口的選項卡中,並將選項卡分割到新窗口中,就像Google Chrome和Visual Studio中的調試/編譯輸出窗口一樣。有沒有提供這種功能的圖書館或樣本項目?謝謝你的幫助。是否有任何提供選項卡窗口窗體的C#庫/代碼?
2
A
回答
0
您可以將您的「窗口」作爲用戶控件實施,並將每個用戶控件放置在選項卡控件上的單獨標籤頁上。用戶控件本身包含什麼控件並不重要。所以它肯定也包含一個本身託管其他用戶控件的選項卡控件。
要使用窗口的用戶控件內則可以使用以下WinAPI的方法其駐留在面板內:
[DllImport("user32.dll")]
public static extern bool ShowWindow(IntPtr hWnd, WindowShowStyle nCmdShow);
[DllImport("user32.dll", SetLastError = true)]
public static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);
實施例:
System.Diagnostics.Process externalProcess = new System.Diagnostics.Process()
{
StartInfo = new System.Diagnostics.ProcessStartInfo(appToHost)
};
externalProcess.Start();
externalProcess.WaitForInputIdle();
if (!externalProcess.HasExited)
{
ShowWindow(externalProcess.MainWindowHandle, ShowWindowStyle.Maximize);
SetParent(externalProcess.MainWindowHandle, panel.Handle);
}
這段添加的位於appToHost
作爲應用程序一個孩子控制進入面板panel
。
0
使用標籤控件
http://msdn.microsoft.com/en-us/library/system.windows.forms.tabcontrol.tabpages.aspx
但對於這一點,你需要將你的表格轉換爲用戶控制和分配的標籤的用戶控制
1
阿瓦隆碼頭是允許你建立的Visual Studio庫像GUI一樣。不幸的是,這不是一個贏的形式庫(wpf),但是你可以在winform控件中使用它。
0
相關問題
- 1. 如何使所有vsplitted窗口作爲選項卡窗口?
- 2. C++ WINAPI:客戶區父窗口模糊子選項卡窗口
- 3. 如何檢查窗體是否有任何ShowDialog()窗體打開?
- 4. 如何在另一個窗體窗體頁面中添加窗體窗體的現有選項卡?
- 5. 有關設置Windows窗體窗口窗口狀態的提示
- 6. c#windows窗體顯示窗口cmd上的輸出代碼
- 7. 是否可以關閉窗口/選項卡?
- 8. 創建wpf項目,但寫代碼像隱藏窗口窗體?
- 9. 窗體窗體選項卡式頁面:從命令行在不同選項卡上啓動窗體
- 10. JavaScript中是否有任何窗口管理庫?
- 11. 選擇窗體初始化選項卡
- 12. C#在窗口窗體中有一個窗口的多個GUI
- 13. 窗口中的python選項卡完成
- 14. Visual Studio 2010 - 新的選項卡窗口
- 15. 是否有替代WebBrowser的Windows窗體?
- 16. 推送技術:是否有任何開放源代碼的窗口實現
- 17. 在窗體應用程序中,是否有任何替代MsgBox?
- 18. c窗口窗體皮膚#
- 19. c窗口窗體加載#
- 20. 是否有iPhone庫提供類似iPad彈出窗口的東西?
- 21. 將彈出窗口更改爲選項卡窗口
- 22. 如果鏈接在新窗口/選項卡或當前窗口
- 23. Windows窗體 - 沒有C#源代碼?
- 24. window.opener.document引用窗口的不同選項卡而不是源窗口
- 25. 是否有任何PHP *網站*提供了源代碼?
- 26. 安卓選項卡窗格內的選項卡窗格?
- 27. 用於處理MDI窗體(VB.NET)中的子窗口的選項卡控件
- 28. 爲ASP.NET窗體用戶提供時間窗口驗證
- 29. 窗口選項卡按下事件
- 30. 選項卡式UI窗口電話
這很好,但我不熟悉wpf。也許我以後會學習它,謝謝。 – Hazy 2011-06-02 06:33:56