Avatar billede neocron Nybegynder
07. februar 2005 - 21:52 Der er 7 kommentarer og
1 løsning

Hide under opstart

Hej.
Jeg sidder og laver et lille program.

Første gang man kører programmet bliver man bedt om at indtaste stien til en fil. Denne gemmes fremover.

Jeg ville så gerne have, at programmet skjulte sig under opstart (da programmet istedet så skal ligge i systembakken).

Jeg har fået lavet således at programmet ligger sig let og elegant i systembakken, men jeg har lidt problemer med at skjule programmet!

Hvis jeg lægger en this.Hide(); ind i Form1_Load, så har Hide() ingen effekt, og det vil jeg nu så gerne have.

Det skal siges at det skam er meningen at den skal kunne komme frem igen ved at blive dobbeltklikket nede i systembakken, så det skal ikke være en løsning, der totalt skjuler Formen.

private void Form1_Load(object sender, System.EventArgs e)
{

      if(data)
      {
            this.Hide(); // virker ikke i Load-event!
            // hvordan kan jeg ellers få skjult formen så den ikke vises?
      }
      else
      {
            // der er ingen data - så vi viser bare formen som normalt
      }
}

Jeg håber, det er til at forstå... :)
Avatar billede neocron Nybegynder
07. februar 2005 - 21:53 #1
(det er iøvrigt ren testkode, der er her, så I skal bare gå ud fra at data eksisterer og er true) :)
Avatar billede neocron Nybegynder
07. februar 2005 - 22:01 #2
Oh, ja - bonusspørgsmål - hvordan kan man måske lave, således at programmet starter op når man logger ind i Windows? Man skal vel have føjet noget til en startup list eller noget?
Avatar billede -psycho- Nybegynder
08. februar 2005 - 08:07 #3
this.WindowState = FormWindowState.Minimized;
this.ShowInTaskbar = false;
Avatar billede -psycho- Nybegynder
08. februar 2005 - 08:16 #4
og autoopstart.
For brugeren som installere
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

For alle brugere
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Avatar billede neocron Nybegynder
08. februar 2005 - 13:44 #5
Hej.
Det virker til dels, det med hide. Men jeg har et problem.
Når jeg har en form med x antal components på og jeg smider

WindowState = FormWindowState.Minimized;
this.ShowInTaskbar = false;

ind i dens Form_Load, så forsvinder formen også elegant ned i systembakken (som noget andet kode sørger for)

MEN - når jeg vil kalde det frem igen, så vil den ikke vise nogle af komponenterne, de er ligesom bare blevet brutalt skubbet væk.
Hvis jeg udkommenterer linjen:

this.ShowInTaskbar = false;

Så vil mine komponenter komme fint tilbage. Og jeg ved frankrigs-talt ikke lige, hvordan jeg lige skal gribe den an. Jeg har prøvet med this.Update().
Avatar billede neocron Nybegynder
08. februar 2005 - 13:53 #6
Jeg tror jeg netop har fået løst problemet selv :) Jeg vil nu tjekke den kode, der tilføjer programmet til opstart.
Avatar billede neocron Nybegynder
08. februar 2005 - 14:13 #7
Det hele fungerer fremragende nu - mange tak, og smid endelig et svar.

Mht. til problemet med ShowInTaskbar og manglende komponenter, så skyldtes det simpelthen at der var en konflikt med en Resize event, som nu er blevet omskrevet :)
Avatar billede -psycho- Nybegynder
08. februar 2005 - 15:19 #8
ok :)
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