[C#.NET] Form zonder 'caption', maar wel met taakbalk text?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • NickThissen
  • Registratie: November 2007
  • Laatst online: 09-09 10:50
Hey,

Ik heb een klein probleempje dat ik niet opgelost krijg. Ik heb ook geen idee waar ik op moet zoeken, dus dat wil ook niet echt lukken.

Mijn applicatie heeft één 'main' form, zonder caption. Dit heb ik voor elkaar gekregen door deze properties te gebruiken:
- ControlBox = False
- MinimizeBox = False
- MaximizeBox = False
- Text = "" (lege string)

De form heeft nu wel nog gewoon een border (waarmee je kunt resizen) maar geen titelbalk meer waar normaal de Text property in te zien is.
Voor zover ik weet is het absoluut nodig om de Text property leeg te houden, anders zal de titelbalk toch weer zichtbaar worden.

Maar, als de Text property leeg is, dan toont de knop op de taakbalk ook geen tekst! Maar dat wil ik nou juist weer wél. Hoe kan ik een form hebben zonder titelbalk, maar wel met tekst in de taakbalk knop?
Is er een andere manier waarop ik ofwel de tekst in de taakbalk kan zetten, ofwel de titelbalk weg kan halen?

EDIT
Dit gevonden, maar de conclusie is om FormBorderStyle op None te zetten, wat ik niet wil!

[ Voor 10% gewijzigd door NickThissen op 16-04-2010 20:02 ]

Mijn iRacing profiel


Acties:
  • 0 Henk 'm!

  • DoDo
  • Registratie: Juli 2001
  • Laatst online: 15:14
Je kan het volgende in je form code zetten:

C#:
1
2
3
4
5
6
7
8
9
10
   protected override System.Windows.Forms.CreateParams CreateParams
        {
            get
            {
                System.Windows.Forms.CreateParams cp = base.CreateParams;
                cp.Style &= ~0x00C00000; // WS_CAPTION 
                cp.Caption = "DIT KOMT IN DE TASKBAR TE STAAN";
                return cp;
            }
        } 

Acties:
  • 0 Henk 'm!

  • NickThissen
  • Registratie: November 2007
  • Laatst online: 09-09 10:50
Bedankt. Ik zag net precies hetzelfde (behalve de cp.Caption) in de link die ik gepost had en het lijkt inderdaad te werken.

Maar in die link zegt 'men' dat de border er anders uit ziet dan normaal. Ik kan zelf geen verschil zien (op Windows 7), maar misschien is er wel een verschil op andere windows versies..? Weet je daar misschien iets vanaf? Ik kan het niet testen want heb alleen win7.

Oh ja, en wat is het verschil tussen het gebruiken van cp.Caption en gewoon de Text property van de form?

Mijn iRacing profiel


Acties:
  • 0 Henk 'm!

  • DoDo
  • Registratie: Juli 2001
  • Laatst online: 15:14
Qua verschil is er helemaal niks ;). Ik kan het ook alleen testen op windows 7.

Acties:
  • 0 Henk 'm!

  • NickThissen
  • Registratie: November 2007
  • Laatst online: 09-09 10:50
Nee, in Windows 7 krijg ik dit:
Afbeeldingslocatie: http://i44.tinypic.com/2ef6typ.png
precies wat ik wil.

Maar ik hoor nu van anderen (op een ander forum) dat je op XP helemaal geen border meer ziet..!

Mijn iRacing profiel


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
NickThissen schreef op vrijdag 16 april 2010 @ 20:29:
Maar ik hoor nu van anderen (op een ander forum) dat je op XP helemaal geen border meer ziet..!
Klopt. Maar ben je nou zelf een jumplist aan 't bouwen ofzo? Je weet dat daar functies voor in het OS aanwezig zijn? En dat daar kant-en-klare wrappers voor zijn?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • NickThissen
  • Registratie: November 2007
  • Laatst online: 09-09 10:50
RobIII schreef op vrijdag 16 april 2010 @ 20:54:
[...]

Klopt. Maar ben je nou zelf een jumplist aan 't bouwen ofzo? Je weet dat daar functies voor in het OS aanwezig zijn? En dat daar kant-en-klare wrappers voor zijn?
Nee hoor, het gaat om een radio stream applicatie. Het moet gewoon een klein programmatje zijn, en het ziet er gewoon veel beter uit zonder caption. Maar ik wil toch in de taakbalk kunnen zien welk nummer er draait en welke zender er op het moment op staat.

Mijn iRacing profiel


Acties:
  • 0 Henk 'm!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 15:05

Sebazzz

3dp

Is Windows Forms wel de juiste keuze dan?

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


Acties:
  • 0 Henk 'm!

Verwijderd

als je nu gewoon voor je form een region gebruikt die de grote van je form - de balk heeft ?

zoals dit

code:
1
2
            Rectangle rect = new Rectangle(0, 30, 300, 300);
            this.Region = new Region(rect);


en de rest evt in een overide paint event aanpast..

[ Voor 10% gewijzigd door Verwijderd op 16-04-2010 21:59 ]


Acties:
  • 0 Henk 'm!

  • NickThissen
  • Registratie: November 2007
  • Laatst online: 09-09 10:50
Verwijderd schreef op vrijdag 16 april 2010 @ 21:57:
als je nu gewoon voor je form een region gebruikt die de grote van je form - de balk heeft ?

zoals dit

code:
1
2
            Rectangle rect = new Rectangle(0, 30, 300, 300);
            this.Region = new Region(rect);


en de rest evt in een overide paint event aanpast..
Dat had iemand me al voorgesteld, maar dat schiet ook niet op, want:
1. Dan moet ik precies weten hoe groot de titelbalk is (kan verschillen voor verschillende themas/windows/etc)
2. Dat ziet er erg lelijk uit, want om een of andere reden pakt hij terug op de 'basic' theme van aero ofzo. Weet niet precies wat er aan de hand is, maar de border is niet meer doorzichtig enzo, ziet er raar uit. Ook is de bovenkant dan niet echt een border, maar gewoon afgekapt...

Mijn iRacing profiel


Acties:
  • 0 Henk 'm!

  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 21-08 11:20
Je zou wel een Caption kunnen zetten, en vervolgens je FormBorderStyle aan kunnen passen? :)

We are shaping the future


Acties:
  • 0 Henk 'm!

  • NickThissen
  • Registratie: November 2007
  • Laatst online: 09-09 10:50
Alex) schreef op zondag 18 april 2010 @ 01:27:
Je zou wel een Caption kunnen zetten, en vervolgens je FormBorderStyle aan kunnen passen? :)
Dan heb ik dus helemaal geen border meer. Ik wil wel gewoon een border hebben zodat je de form nog kan resizen. Ik weet ook wel dat je handmatig je form kan resizen, ook vrij gemakkelijk mbv SendMessage (dacht ik), maar ik wil graag gewoon de standaard border houden.

Mijn iRacing profiel

Pagina: 1