Hur gör man för att påverka utseendet av delar av skärmen som ligger utanför applikationsfönstret? Är det ens möjligt? En tillämpning av en sådan teknik skulle kunna vara att skapa en alldeles egen skärmsläckare. Om du vill göra en skärmsläckare så kan du göra på följande vis Bra svar, tack för det. Jadu.. en variant är att köraPåverka delar av skärmen som ligger utanför applikationsfönstret
Sv: Påverka delar av skärmen som ligger utanför applikationsfönstret
private void Form1_Load(object sender, EventArgs e)
{
Rectangle Rect = Screen.PrimaryScreen.Bounds; // Får fram upplösningen på skärmen
this.Size = Rect.Size; // Sätter ditt program i samma storlek som skärmen
this.Location = Rect.Location; // Är inte riktigt säker på detta, men det behövs för somliga skärmar
this.FormBorderStyle = FormBorderStyle.None; // Så minimerings,maximerings och stäng rutan inte syns
}
och du kan börja rita vad du vill på skärmen med GDI.
Sen är det bara att döpa om .exe filen till .scr :-).
Sv:Påverka delar av skärmen som ligger utanför applikationsfönstret
En annan variant: Hur kan man påverka den aktuella bilden på skärmen (samtidigt som datorn används)? En tillämpning skulle kunna vara att köra en rullande text som alltid är synlig.
PeterSv: Påverka delar av skärmen som ligger utanför applikationsfönstret
private void Form1_Load(object sender, EventArgs e)
{
this.SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.Opaque, true);
this.FormBorderStyle = FormBorderStyle.None;
}
protected override void OnPaint(PaintEventArgs e) // the gameloop
{
// Rita grejer med GDI här
}
SetStyle och dess parametrar fixar så allt ritas i OnPaint metoden, Sedan kör du en override på OnPaint och bestämmer allt som ritas, om du inte ritar ngt i OnPaint metoden blir formuläret helt genomskinlig.
För att sedan få texten rullande kan du flytta på positionen på ditt formulär (this.Location.X = 10).