Question Possible de rester sur une unique fenètre dans une application windows form ?

Plus d'informations
il y a 10 mois 2 semaines #33261 par KD
Bonjour, pour une future petite application, est ce que il est possible avec windows forms, de créer une unique fenètre, dans laquelle toute l'application fonctionnera ? C'est a dire éviter de recréer une fenètre a chaque fois qu'on souhaite modifier quelque chose dessus pendant son utilisation. Pour etre plus concret, j'aimerai par exemple une application de formulaire. Une fenètre s'ouvre avec un formulaire a remplir. Quand le formulaire est rempli et validé par un bouton, l'interface change, mais sans ouvrir une nouvelle fenètre. Un peu comme un système qui efface toute l'interface actuelle de la fenètre pour en afficher une nouvelle sans fermer cette fenètre. Pour préciser quand je parle d'interface, je pense plus a un ensemble de boutons, progressbar ou listbox par exemple. Je ne sais pas si j'ai été très clair :) , j'espère quez cela reste compréhensible.
Merci de votre aide, bonne journée.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 10 mois 2 semaines #33262 par power
C'est possible pour cela tu peux utiliser le TabControl et lui ajouter des TabPage.
Voici un exemple simple avec un bouton pour changer de TabPage :
Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing

$form = New-Object System.Windows.Forms.Form
$form.Text = 'Data Entry Form'
$form.Size = New-Object System.Drawing.Size(600,400)
$form.StartPosition = 'CenterScreen'

$TabControl = New-Object System.Windows.Forms.TabControl
$TabControl.Size = [System.Drawing.Size]::new(600,400)
#region For Hide Header
$TabControl.Appearance = [System.Windows.Forms.TabAppearance]::FlatButtons
$TabControl.ItemSize = [System.Drawing.Size]::new(0,1)
$TabControl.SizeMode = [System.Windows.Forms.TabSizeMode]::Fixed
#endregion For Hide Header
$form.Controls.Add($TabControl)

$TabPage1 = New-Object System.Windows.Forms.TabPage
$TabPage1.BackColor = "Red"
$TabControl.Controls.Add($TabPage1)

$TabPage2 = New-Object System.Windows.Forms.TabPage
$TabPage2.BackColor = "Green"
$TabControl.Controls.Add($TabPage2)

$tablabel1 = New-Object System.Windows.Forms.Label
$tablabel1.Text = "TabPage 1"
$tablabel1.Location = [System.Drawing.Point]::new(250,150)
$TabPage1.Controls.Add($tablabel1)

$tablabel2 = New-Object System.Windows.Forms.Label
$tablabel2.Text = "TabPage 2"
$tablabel2.Location = [System.Drawing.Point]::new(250,150)
$TabPage2.Controls.Add($tablabel2)

$tabButton1 = New-Object System.Windows.Forms.Button
$tabButton1.Size = [System.Drawing.Size]::new(100,50)
$tabButton1.Location = [System.Drawing.Point]::new(250,300)
$tabButton1.Text = "Suivant"
$tabButton1.add_Click{
    $TabControl.SelectTab(1)
}
$TabPage1.Controls.Add($tabButton1)

$tabButton2 = New-Object System.Windows.Forms.Button
$tabButton2.Size = [System.Drawing.Size]::new(100,50)
$tabButton2.Location = [System.Drawing.Point]::new(250,300)
$tabButton2.Text = "Précédent"
$tabButton2.add_Click{
    $TabControl.SelectTab(0)
}
$TabPage2.Controls.Add($tabButton2)

$form.Topmost = $true

$result = $form.ShowDialog()
 

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 10 mois 2 semaines #33263 par KD
Merci de votre réponse je vais tester ca ! :)

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.104 secondes
Propulsé par Kunena