Svårt att förklara men ska försökta. Har gjort en liten sidebar i VB.NET och fungerar perfekt. Dock kan man minimera programmet. Det vill jag inte. Om man tänker via lager så vill jag ha det såhära sätt MinimizeBox=False Har gjort. Man kan fortfarande minimera det via aktivitetsfältet (Högerklicka där -> visa skrivbordet) Det ska du inte kunna göra ???? Programmet är inställt så det inte ska visas i aktivitetsfältet, men man kan fortfarande minimera mitt program om man högerklickar någonstans på aktivitets fältet -> visa skrivbort MinimizeBox=False Tack så mycket Lars! Du kan ju göra något liknande: ja precis. Men dock blev jag inte något klokare av det. Har själv haft problem men fönsterhantering och det verka skiljas sig mellan 2000, XP, W2k3. Vissa åtgärdas med .NET fw patchar/service pack. Har gjort om koden till VB.NET (tror jag iaf) Men vet inte hur jag ska använda det oki.. Jag har nu byggt ihop en enkel winapp i VB.NET åt dig. Du kan åter komma på min mail så kan jag skicka dig en zip med det VS projektet. Hitta inte din e-mail i din profil. Men har skickat dig ett iMail. Varför inte lägga upp den här? > Varför inte lägga upp den här? Någon annan som har en lösning?Program ska alltid vara överst på skrivbord. Andra program ska den vara under...
Lager 3-#: Resterande program som är igång/startas
Lager 2: Mitt program (ska ej kunna minimeras)
Lager 1: Skrivbordet med ikoner osv
Hoppas det förklarar vad jag söker, om det nu går (vilket jag såklart hoppas)
Tack i förväg!
MvH
AlexanderSv: Program ska alltid vara överst på skrivbord. Andra program ska den vara unde
i properties fönstret.
Tjosan!Sv:Program ska alltid vara överst på skrivbord. Andra program ska den vara unde
Sv: Program ska alltid vara överst på skrivbord. Andra program ska den vara unde
den ska vara inaktiv (gråfärgad) då du högerklickar på den!!!Sv:Program ska alltid vara överst på skrivbord. Andra program ska den vara unde
Sv: Program ska alltid vara överst på skrivbord. Andra program ska den vara unde
gör inte så att programmet inte visas i aktivitetsfältet,
utan deaktiverar bara möjligheten att minimera fönstret.
OBS! glöm inte att sätta topmost property'n till true!
funkar klockrent hos mig!Sv:Program ska alltid vara överst på skrivbord. Andra program ska den vara unde
Det fungerade. Men dock inte som jag hade velat. Programmet är nu <b>alltid</b> överst. Det jag saknar nu är bara att programmet alltid är överst på skrivbordet. Men öppnas ett annant program så ska det vara över. Som jag nämde innan, om man kolla på det som om det vore lager så vill jag ha det så här
Lager 3-#: Resterande program som startas/är i gång.
Lager 2: Mitt program (ska ej kunna minimeras).
Lager 1: Skrivbordet med ikoner o.s.v.Sv: Program ska alltid vara överst på skrivbord. Andra program ska den vara unde
Programarkivet:Active Desctop Widget i Visual Basic 6Sv:Program ska alltid vara överst på skrivbord. Andra program ska den vara unde
Sv: Program ska alltid vara överst på skrivbord. Andra program ska den vara unde
Men vi byggde en egen hantering med att Lägga överst, Alltid överst, Ta bort från att alltid vara överst osv. men det är en heldel kod som är lite svårt att lyfta ut så här, men här har du lite exempel ivf.
Kan nämnas att även formulären isig har logik i Active som kollar formlärets WindowState efter som vissa händelser höjs till flera fönster som t.ex. om featuren Group similar taskbar buttons är ikryssad så och du klickar för att visa eller minimera alla så måste man även ta hänsyn till i vilken
WindowState fönstret befinner sig i.
Exempelkoden är dock i C#, så du får skriva om med VB.NET syntax.
[DllImport( "user32.dll", EntryPoint="GetForegroundWindow" )]
public static extern int GetForegroundWindow();
[DllImport( "user32.dll", EntryPoint="SetForegroundWindow" )]
public static extern bool SetForegroundWindow(int hwnd);
[DllImport( "user32.dll", EntryPoint="SetActiveWindow" )]
public static extern int SetActiveWindow(int hWnd);
internal static void BringToFront(Form form) {
...
form.BringToFront();
bool bForeGround = Win32Api.SetForegroundWindow((int)form.Handle);
form.Focus();
...
}
internal static void StayOnTop(Form form) {
...
form.Owner = <--Sätts till det fönster som ska äga formuläret, MDI stil.
form.BringToFront();
bool bForeGround = Win32Api.SetForegroundWindow((int)form.Handle);
form.Focus();
...
}
internal static void ReleaseStayOnTop(Form form) {
...
form.Owner = null;
...
}Sv:Program ska alltid vara överst på skrivbord. Andra program ska den vara unde
Public Declare Auto Function GetForegroundWindow Lib "user32" () As Integer
Public Declare Auto Function SetForegroundWindow Lib "user32" (ByVal hwnd As Integer) As Boolean
Public Declare Auto Function SetActiveWindow Lib "user32" () As Integer
Dim bForeGround As Boolean
Private Sub _BringToFront(ByVal form As Form) 'Blir fel på Me.BringToFront() annars
Me.BringToFront()
bForeGround = SetForegroundWindow(Me.Handle)
form.Focus()
End Sub
Private Sub StayOnTop(ByVal form As Form)
'me.Owner = 'Vad ska jag sätta här?
Me.BringToFront()
bForeGround = SetForegroundWindow(Me.Handle)
Me.Focus()
End Sub
Private Sub ReleaseStayOnTop(ByVal form As Form)
Me.Owner = Nothing
End Sub
Uppskattar all hjälp =)
Sv: Program ska alltid vara överst på skrivbord. Andra program ska den vara unde
Sv:Program ska alltid vara överst på skrivbord. Andra program ska den vara unde
Sv:Program ska alltid vara överst på skrivbord. Andra program ska den vara unde
Sv: Program ska alltid vara överst på skrivbord. Andra program ska den vara unde
Jag vet inte varför.
*Väntar fortfarande på svar från Dan*Sv: Program ska alltid vara överst på skrivbord. Andra program ska den vara unde