Avatar billede ahara Nybegynder
19. august 2005 - 22:59 Der er 15 kommentarer og
1 løsning

Forms ovenpå hinanden

Jeg har tidligere stillet et spg. til hvordan jeg får flere forms til at ligge oven på hinanden. Jeg benytter visible til at hide forms der ligger under den aktive.

Det eneste problem jeg har, er at for hver form jeg åbner vises der en taskbar button i taskbaren. Ved at benytte hide ligger der kun en aktiv taskbar button, men når jeg aktiverer en ny form ryger en taskbar button ind fra venstre side. Kan man stoppe al den trafik :o)

Tak
Avatar billede driis Nybegynder
19. august 2005 - 23:07 #1
Forms har en ShowInTaskBar property. Sæt den til false, (evt. på nær én) så burde du have løst dit problem.
Avatar billede ahara Nybegynder
19. august 2005 - 23:11 #2
Super. Et svar og der er point
Avatar billede ahara Nybegynder
19. august 2005 - 23:18 #3
Er det muligt at have en taskbar button vist altid. Den skal ikke have noget med mine forms at gøre.
Avatar billede driis Nybegynder
19. august 2005 - 23:31 #4
Svar.

Til din sidste kommentar. Umiddelbart nej, taskbar'en følger vinduerne, så at sige.
Men det du kan gøre er at lave en statisk liste over dine forms. Den første form der bliver tilføjet kan så få "ShowInTaskBar" sat til true. (der er andre måder at løse det på, den her beskrevne var den første der faldt mig ind).

I øvrigt undrer det mig hvorfor du har brug for at lægge flere forme ovenpå hinanden (men nu har jeg heller ikke læst dit første spørgsmål).
Avatar billede ahara Nybegynder
19. august 2005 - 23:36 #5
Jeg benytter flere forms ovenpå hinanden fordi jeg ønsker en bruger skal guides igennem flere små skærmbilleder for at oprette et tilbud. Ville du da gøre noget andet?
Avatar billede ahara Nybegynder
19. august 2005 - 23:46 #6
Kan du forresten uddybe dit eksemptl op listen. Er ikke helt sikker på jeg forstår hvad du mener
Avatar billede driis Nybegynder
19. august 2005 - 23:48 #7
Muligvis, det kommer selvfølgelig an på hvordan det skal fungere.

Men jeg kunne godt finde på at lave et antal Panel's med de nødvendige kontroller på, og så fjerne et panel og tilføje det næste til formens control collection. Hvert panel kan have sin egen subklasse, præcist som man normalt gør med forms.
Avatar billede driis Nybegynder
19. august 2005 - 23:53 #8
Mit eksempel med listen:

Lav en klasse, til at holde styr på de åbne forms. Implementer det med en ArrayList eller evt. en strongly typed collection af forme.

Så kan du f.eks. gøre:

public class MyForms
{
private ArrayList list = new ArrayList();

public void Add(Form f)
{
  if ( list.Count == 0 )
    f.ShowInTaskBAr = false;
  else
    f.ShowInTaskBar = true;
 
  list.Add(f);
  f.Show();
}
}
Avatar billede driis Nybegynder
19. august 2005 - 23:54 #9
Koden skal i øvrigt tages med et gran salt, jeg har ikke testet i en compiler. Den viser blot idéen.
Avatar billede ahara Nybegynder
20. august 2005 - 00:03 #10
Men hvis en form ikke er visible kan der vel ikke vises en taskbar button for den?
Avatar billede driis Nybegynder
20. august 2005 - 12:26 #11
Nej, men så kan listen indeholde de synlige forme ?
Avatar billede ahara Nybegynder
21. august 2005 - 23:21 #12
Mit sidste spg. er til metoden med panels som du ville foreslå. Hvis jeg ville benytte 10 forms er det så ikke lidt forvirrende i stedet at ligge 10 panels ovenpå hinanden med hver deres komponenter?
Avatar billede driis Nybegynder
21. august 2005 - 23:50 #13
De skal jo netop ikke ligge ovenpå hinanden permanent, men i stedet tilføjes når de skal bruges. Noget alá:

form.Controls.Remove(panel1);
form.Controls.Add(panel2);
Avatar billede ahara Nybegynder
22. august 2005 - 22:31 #14
Jo, men når du skal designe det ligger du dem vel ovenpå hinanden? Det er det jeg mener er besværligt
Avatar billede ahara Nybegynder
22. august 2005 - 22:36 #15
Hmm, jeg kunne selvfølgelige bladre imellem de forskellige panels under properties. Et svar og der er point
Avatar billede driis Nybegynder
22. august 2005 - 23:16 #16
Jeg har fået point ;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester