---
title: "Öppna win form i main?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/94000-öppna-win-form-i-main"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Vimp"
published: "2004-01-05T10:23:47.000Z"
updated: "2004-01-05T17:37:56.000Z"
replies: 12
views: 381
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/94000-öppna-win-form-i-main"
---

# Öppna win form i main?

## #1 — Vimp, 2004-01-05T10:23Z

Hej,,

Jag har inte använt win forms så mycket i vb.net, men nu tänkte jag göra ett program som jag ska unna administrera sidan ifrån.
Problemet är att jag vill kunna ladda en windows form i "main-formen".
Jag skickar med ett screenshot...
Där gubben är vill jag ladda alla formsen.
Går det inte att använda placeholdern som finns i asp.net?

Bilagor:

- [ojojoj.jpg](https://www.webforum.nu/a/2581.jpg)

Permalänk: https://www.webforum.nu/p/94000

## #2 — Gladh, 2004-01-05T11:12Z

Du skall använda dig av UserControlls.

Alltså din main-formen innehåller inga objekt (knappar och sånt) utan endast olika Panels.

I de olika Panels så laddar du sedan de olika UserControlls som du har skapat. Det fungerar ungefär som placeholdern i ASP.NET.

\- M

Permalänk: https://www.webforum.nu/p/1244039

## #3 — Vimp, 2004-01-05T11:27Z

Jag testade att lägga en panel i main som heter pnlMain.
Sen la jag in den här koden:

```
    Private Sub MenuItem4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem4.Click
        Dim ctrlControl As New Control("frmtest.vb")
        pnlMain.Controls.Add(ctrlControl)
    End Sub
```

Det händer ingenting när jag trycker på "Medlemmar" i menyn nu.
Är det något mer som behövs i koden?

Permalänk: https://www.webforum.nu/p/1244042

## #4 — Vimp, 2004-01-05T11:33Z

Kan tillägga att jag testade med att lägga in det här, men utan framgång:

```
ctrlControl.Visible = True
```

Permalänk: https://www.webforum.nu/p/1244045

## #5 — Marcus E, 2004-01-05T13:44Z

Du måste ha positioner också.
Prova Dock = DockStyle.Fill

Ett annat sätt är att använda MDI. Då kan du ha flera fönster inom samma fönster.

Permalänk: https://www.webforum.nu/p/1244091

## #6 — Vimp, 2004-01-05T13:51Z

Händer fortfarande ingenting. :( 
Är dte något fel på denna kod?

```
        Dim ctrlControl As New Control("frmtest.vb")

        With ctrlControl
            .Visible = True
            .Dock = DockStyle.Fill
        End With

        pnlMain.Controls.Add(ctrlControl)
```

Permalänk: https://www.webforum.nu/p/1244096

## #7 — Vimp, 2004-01-05T13:52Z

Marcus.. Vet du någon sida där de tar upp MDI?

Permalänk: https://www.webforum.nu/p/1244097

## #8 — juventus1, 2004-01-05T15:06Z

Här kommer två länkar:
<http://samples.gotdotnet.com/quickstart/winforms/doc/WinFormsMDI.aspx>
<http://www.google.com/custom?cof=LW%3A467%3BL%3Ahttp%3A%2F%2Fwww.dotnet247.com%2F247reference%2Fi%2Fglogo.gif%3BLH%3A67%3BAH%3Acenter%3BS%3Ahttp%3A%2F%2Fwww.dotnet247.com%2F%3BAWFID%3A93dc6f981b565809%3B&sitesearch=www.dotnet247.com&sa=Google+Search&domains=www.dotnet247.com&q=mdi>

Den första länken är nog bäst att börja med.

Permalänk: https://www.webforum.nu/p/1244146

## #9 — Gladh, 2004-01-05T15:18Z

hmmm... nu kan jag inte VB men i C# så skapar man sin UserControl precis som vilket annat objekt.

Säg att jag har en main som har en panel, som jag döpt till panelMiddle och sedan har jag en UserControl som jag vill lägga till till denna panel då skriver man så här.

```
MyUserControl myUserControl = new MyUserControl();

myUserControl.Dock = System.Windows.Forms.DockStyle.Fill;
.
.
.

panelMiddle.Control.Add(myUserControl)
```

Det bör ju fungera likadant i VB. Annars så kan du ju göra det i VS.NET och sedan se hur koden ser ut och utgå därifrån.

\- M

Permalänk: https://www.webforum.nu/p/1244155

## #10 — Vimp, 2004-01-05T16:31Z

Tackar Magnus, fungerar perfekt nu :) 
Blev så här med VB:

```
        Dim frmTest As New frmTest()

        With frmTest
            .Visible = True
            .Dock = DockStyle.Fill
        End With

        pnlMain.Controls.Add(frmTest)
```

Permalänk: https://www.webforum.nu/p/1244191

## #11 — niko, 2004-01-05T16:50Z

> fungerar perfekt nu

Nu blir jag *väldigt* nyfiken. *Controls.Add* vill ha ett argument av typen *System.Windows.Forms.Control* och ditt *frmTest* är väl ett Winform (*System.Windows.Forms.Form*)? Vilken FrameWork-version kör du?

Permalänk: https://www.webforum.nu/p/1244201

## #12 — Vimp, 2004-01-05T17:01Z

Jag kör .NET Framework 1.0 tillsammans med Visual Studio .NET 2002.

FrmTest är en usercontrol (System.Windows.Forms.UserControl).

Permalänk: https://www.webforum.nu/p/1244205

## #13 — niko, 2004-01-05T17:37Z

> FrmTest är en usercontrol

Tack. Jag tolkade det som att du lyckades lägga ett Winform på en panel rakt av och att jag hade missat nåt väsentligt.

Permalänk: https://www.webforum.nu/p/1244220

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/94000-öppna-win-form-i-main
