2 votes

Existe-t-il une bibliothèque/code c# qui fournit un formulaire de fenêtre à onglets ?

Je veux une bibliothèque winform qui permette aux utilisateurs de fusionner plusieurs fenêtres en onglets d'une seule fenêtre, et de diviser un onglet en une nouvelle fenêtre, tout comme le Chrome de Google, et de déboguer/compiler la sortie Windows dans Visual Studio. Existe-t-il une bibliothèque ou un exemple de projet qui offre cette fonctionnalité ? Merci pour votre aide.

1voto

Will Points 43

Avalon Dock est une bibliothèque qui vous permet de créer des interfaces graphiques semblables à celles de Visual Studio. Malheureusement, ce n'est pas une bibliothèque winform (wpf), mais vous pouvez l'utiliser avec des contrôles winform.

http://avalondock.codeplex.com/

0voto

PVitt Points 5652

Vous pouvez implémenter vos "fenêtres" en tant que contrôles d'utilisateur et placer chaque contrôle d'utilisateur sur une page d'onglet distincte sur un contrôle d'onglet. Les contrôles que contient le contrôle utilisateur lui-même n'ont pas d'importance. Il peut donc certainement contenir un contrôle d'onglet qui héberge lui-même d'autres contrôles d'utilisateur.

Pour utiliser une fenêtre dans un contrôle utilisateur, vous pouvez l'héberger dans un panneau en utilisant les méthodes WinAPI suivantes :

[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 );

Exemple :

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 );
}

Cet extrait ajoute l'application située à appToHost comme un contrôle enfant dans le panneau panel .

0voto

Deepesh Points 1721

Utiliser le contrôle de tabulation

http://msdn.microsoft.com/en-us/library/system.Windows.forms.tabcontrol.tabpages.aspx

mais pour cela, vous devez convertir votre formulaire en contrôle d'utilisateur et affecter le contrôle d'utilisateur dans les onglets.

0voto

Mel Points 1082

Regardez le DockPanel Suite . Il vous permettra de faire ce que vous décrivez, ainsi que des comportements de déplacement et d'arrimage si vous le souhaitez.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X