[C#] GUI probleem, Form in een Form

Pagina: 1
Acties:
  • 177 views sinds 30-01-2008
  • Reageer

  • MoNo79
  • Registratie: Juli 2001
  • Laatst online: 21-03 21:47
Ik heb nu 3 Forms: FormMain, ForrmProjectToevoegen, FormGegevensToevoegen.
FormMain daar start de aplicatie mee op, als ik nu op een MenuItem Nieuw project klik wil ik dat de form ForrmProjectToevoegen in de main form wordt gestart. Alleen met mijn huidige code wordt er een opmpleet nieuwe window gemaakt, dit is niet de bedoeling.
Ik wil eigenlijk dat alleen de uiterlijk van de main window veranded.

code:
1
2
3
4
5
private void menuItem2_Click(object sender, System.EventArgs e)
{
ForrmProjectToevoegen fnp = new ForrmProjectToevoegen();
fnp.Show();
}

[ Voor 5% gewijzigd door MoNo79 op 28-04-2005 11:23 ]


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Misschien moet je eens zoeken op MDI forms?

Oops! Google Chrome could not find www.rijks%20museum.nl


  • D4Skunk
  • Registratie: Juni 2003
  • Laatst online: 20-10-2025

D4Skunk

Kind of Blue

P_de_B schreef op donderdag 28 april 2005 @ 11:22:
Misschien moet je eens zoeken op MDI forms?
of op usercontrol :)

  • MoNo79
  • Registratie: Juli 2001
  • Laatst online: 21-03 21:47
Ah UserContol dat werkt beter.

Toch nog een vraag als ik op mijn button klikt laat hij de UserComtol niet zien.

code:
1
2
3
4
5
6
7
8
9
private UserControl1() usercontrol;

private void button1_Click(object sender, System.EventArgs e)
{
usercontrol = new UserControl1();
usercontrol .Visible = true;
usercontrol .Show();
this.Update();
}

[ Voor 244% gewijzigd door MoNo79 op 28-04-2005 12:38 ]


  • sig69
  • Registratie: Mei 2002
  • Laatst online: 11:38
Je maakt nu alleen usercontrol, je moet 'm ook nog ergens aan je form toevoegen (evt in een panel ofzo).

Roomba E5 te koop


  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 01-05 19:09

pjvandesande

GC.Collect(head);

Zoals sig69 al zegt, je moet het ook toevoegen:

C#:
1
2
3
4
5
6
7
8
9
10
private UserControl1() usercontrol;

private void button1_Click(object sender, System.EventArgs e)
{
usercontrol = new UserControl1();
usercontrol .Visible = true;
this.Controls.Add( usercontrol );
usercontrol .Show();
this.Update();
}

  • riezebosch
  • Registratie: Oktober 2001
  • Laatst online: 04-05 13:09
MoNo79 schreef op donderdag 28 april 2005 @ 12:03:
Ah UserContol dat werkt beter.

Toch nog een vraag als ik op mijn button klikt laat hij de UserComtol niet zien.

code:
1
2
3
4
5
6
7
8
9
private UserControl1() usercontrol;

private void button1_Click(object sender, System.EventArgs e)
{
usercontrol = new UserControl1();
usercontrol .Visible = true;
usercontrol .Show();
this.Update();
}
offtopic:
Geloof niet dat het verstandig is om je hele oude bericht weg te editten... Nu kan niemand meer zien dat je eerst nog MDI had geprobeerd...


Mocht je toch nog MDI willen proberen: http://www.c-sharpcorner.com/winforms/MDIAppsGAG.asp
UserControls is volgens mij erg omslachtig, en met name bedoeld om bij elkaar horende dingen die je wilt kunnen hergebruiken op één control plaatst.

edit:

Link was trouwens eerste hit op [google=C# MDI]!

[ Voor 4% gewijzigd door riezebosch op 28-04-2005 13:28 ]

Canon EOS 400D + 18-55mm F3.5-5.6 + 50mm F1.8 II + 24-105 F4L + 430EX Speedlite + Crumpler Pretty Boy Back Pack


  • D4Skunk
  • Registratie: Juni 2003
  • Laatst online: 20-10-2025

D4Skunk

Kind of Blue

Persoonlijk zou ik niet voor MDI opteren.( MDI =Multiple Document Interface, en voor zover ik zie is dit nvt voor de TS).
Het comment mbt tot usercontrol is dan weer volledig terecht. ;)

Misschien iets meer voor de hand liggend ipv usercontrol : kan je niet gebruik maken van een TabControl, zoals bv dit

[ Voor 11% gewijzigd door D4Skunk op 28-04-2005 14:28 . Reden: rechstreekse image was iets te veel SPAM van mijnentwege :) ]


  • riezebosch
  • Registratie: Oktober 2001
  • Laatst online: 04-05 13:09
Sorry. TabControl is idd meest gebruikte in zulke situaties :)

Best apart dat er nog nooit een standaard control voor zulke dingen gemaakt is. Ook voor wizards e.d. Maar een TabControl voldoet verder ook prima. Gewoon op de verschillende TabPages je Controls droppen, alle visuele eigenschappen verder uitzetten en zorgen dat je adhv een index de juiste TabPage kan selecteren.

edit:

@D4Skunk: Haha, ik vind je animated gif nou ook niet echt verhelderend ofzo ;)

[ Voor 12% gewijzigd door riezebosch op 28-04-2005 14:40 ]

Canon EOS 400D + 18-55mm F3.5-5.6 + 50mm F1.8 II + 24-105 F4L + 430EX Speedlite + Crumpler Pretty Boy Back Pack


  • MoNo79
  • Registratie: Juli 2001
  • Laatst online: 21-03 21:47
Tab control in inderdaad makelijk, niet 100% wat ik zoek maar mischien als ik mijn idee aanpas wel :)

  • D4Skunk
  • Registratie: Juni 2003
  • Laatst online: 20-10-2025

D4Skunk

Kind of Blue

Hey Bas,

Ik las vandaag net een artikel dat voor jou ook wel eens interessant kan zijn : dit

  • riezebosch
  • Registratie: Oktober 2001
  • Laatst online: 04-05 13:09
Lees dan vooral het laatste stukje, vanaf het "Mac control panel".
Leuk stukje overigens.

Canon EOS 400D + 18-55mm F3.5-5.6 + 50mm F1.8 II + 24-105 F4L + 430EX Speedlite + Crumpler Pretty Boy Back Pack


  • MoNo79
  • Registratie: Juli 2001
  • Laatst online: 21-03 21:47
Bedankt voor jullie reacties. Ik ben toch voor usercontrol gegaan.
Hiermee kan ik presies doen wat ik wil.

Ik ben weer :)

  • riezebosch
  • Registratie: Oktober 2001
  • Laatst online: 04-05 13:09
Na het herlezen van de openingspost ben ik toch van mening dat MDI hier het meest van toepassing is (als je het überhaupt al op zo'n manier wilt doen, wat is er mis met aparte schermen om dingen toe te voegen?). Het TabControl is een aardig alternatief, maar is beter om te gebruiken voor verschillende instellingen e.d. Maar het UserControl is hier volgens mij totaal niet op z'n plaats. (Zie ook mijn reactie en die van D4Skunk daar op).

edit:

Terwijl juist hij degene was die je eerst (onterecht) op het spoor van de UserControl had gezet ;)


De kans is vrij groot dat op een gegeven moment je met het UserControl niet meer kan doen wat je eigenlijk zou willen, en dan wordt het omgooien ook nogal problematisch. Gebruik de dingen waar ze voor bedoeld zijn! B)

[ Voor 12% gewijzigd door riezebosch op 29-04-2005 15:31 ]

Canon EOS 400D + 18-55mm F3.5-5.6 + 50mm F1.8 II + 24-105 F4L + 430EX Speedlite + Crumpler Pretty Boy Back Pack

Pagina: 1