Avatar billede reason Nybegynder
29. august 2002 - 14:04 Der er 10 kommentarer og
1 løsning

Det øverste program

Jeg har et program der altid skal ligge øverst men det er der jo en masse andre programmer der også gerne vil. Så spørgsmålet er nu hvordan for jeg mit program til altid at være øverst?

jeg har sat
this.TopMost = true;
og så har jeg en thread der hele tiden kører
.BringToFront();
.Refresh();
det virker også men det betyder at min form står og blinker fordi de forskellige programmer kæmper om at være øverst - ikke helt optimalt.
Avatar billede jakobandersen Nybegynder
29. august 2002 - 14:21 #1
Nu er jeg ikke lige helt så hård i winforms på det her punkt, men kan man ikke somehow tjekke at den er øverst altså:

if(!onTop(this)){
  this.BringToFront();
  this.Refresh();
}
Avatar billede jakobandersen Nybegynder
29. august 2002 - 14:21 #2
Hvor onTrop er en funktion der returnerer true hvis formen allerede ligger øverst.
Avatar billede reason Nybegynder
29. august 2002 - 15:57 #3
det er stort set det samme jeg har nu - det virker også men ikke optimalt da programmet står og blinker.
Avatar billede jakobandersen Nybegynder
29. august 2002 - 16:09 #4
Programmet blinker vel kun hvis det skifter plads? Altså hvis det rykker frem da du jo ikke Refresher eller flytter på vinduet vis det allerede ligger øverst.
Avatar billede reason Nybegynder
29. august 2002 - 16:15 #5
Problemmet er at der er et andet program der vil ligge øverst, når det ligge sig selv øverst så kommer mit program jo ned under det. Når jeg så bruger .BringToFront(); så blinker det jo.
Avatar billede jakobandersen Nybegynder
29. august 2002 - 16:27 #6
Så vil jeg tro du bliver nødt til at lave et API kald, tror ikke det vil blinke:

[DllImport("user32.dll")]
public  static extern int  SetForegroundWindow(int  hwnd);

http://216.26.168.92/vbapi/ref/s/setforegroundwindow.html
Avatar billede reason Nybegynder
29. august 2002 - 17:53 #7
har du noget mere info om api kald?
Avatar billede jakobandersen Nybegynder
29. august 2002 - 17:55 #8
Avatar billede reason Nybegynder
30. august 2002 - 01:57 #9
nope det virker heller ikke uden at blinke
Avatar billede jakobandersen Nybegynder
03. september 2002 - 14:16 #10
Surt... Så tror jeg desværre ikke der er nogen andre måder end at minimize det program din form "slåsser" med.
Avatar billede jakobandersen Nybegynder
07. september 2002 - 12:05 #11
Tror du ikke du skal lukke..
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
Kurser inden for grundlæggende programmering

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