åbne en form inden i en anden

Tags:    .net

Hej

Jeg har Form1 og Form2, jeg ved at man kan åbne Form2
fra Form1 på følgende måde.

Fold kodeboks ind/udKode 


Jeg har prøvet at søge efter en løsning på google, hvor jeg fandt følgende måde.

Fold kodeboks ind/udKode 


Men når jeg prøver det får jeg følgende fejl

System.ArgumentException was unhandled
Message=Form that was specified to be the MdiParent for this form is not an MdiContainer.
Parameter name: value
Source=System.Windows.Forms
ParamName=value
StackTrace:
at System.Windows.Forms.Form.set_MdiParentInternal(Form value)
at System.Windows.Forms.Form.set_MdiParent(Form value)
at WindowsFormsApplication1.Form1..ctor() in C:\Documents and Settings\andreas\Local Settings\Application Data\Temporary Projects\WindowsFormsApplication1\Form1.cs:line 22
at WindowsFormsApplication1.Program.Main() in C:\Documents and Settings\andreas\Local Settings\Application Data\Temporary Projects\WindowsFormsApplication1\Program.cs:line 18
at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
InnerException:

i denne linje f2.MdiParent = this;

Er der nogle som kan hjælpe mig lidt videre her?



Det lyder som om den klager over at din øverste form (form1 vil jeg tro) ikke er i stand til at have den anden form inden i:
Message=Form that was specified to be the MdiParent for this form is not an MdiContainer.

Prøv ude i designer view på din form1 at finde Properties.
Find "fanen" Window Style og sæt isMdiContainer til True.



Du får ligepræcis den fejl fordi din hovedform ikke er lavet som en MDI container, og kan derfor ikke have en subform i sig. Jeg kan ikke huske om det er nok at sætte isMdiContainer til true, men ellers så kan du oprette en ny hovedform af typen MDI container og så markere alt i din gammelform og copy-paste det med over.



Tak for hjælpen.

Det var nok bare at sætte isMdiContainer = true.

Kan i også hjælpe med et andet lille spørgsmål.

Når jeg nu har åbnet Form2 inde i Form1, så vil jeg godt have at der skal ske nogle ting hvis man minimerer Form2, hvordan kan jeg finde ud af om der bliver trykket på minimer?



Nu har jeg ikke lige tjekket, men prøv at kigge på events. Det kan være du er heldig at finde en dér. Du kan se alle events ved at klikke på events i properties vinduet.



hmm kan ikke lige finde noget, ved at man kan bruge denne function hvis man vil have at vinduet ikke lukker men f.eks stadigvæk kører i baggrunden når man klikker på luk.

Fold kodeboks ind/udKode 


er det noget i samme stil man skal lave hvis man vil gører noget når man minimerer vinduet?



Hej Andreas

Du kan bruge "Form_Resize event"

f.eks:
Fold kodeboks ind/udKode 


Mvh. Claus



Indlæg senest redigeret d. 09.08.2010 21:07 af Bruger #15616
t