[c#] button zonder border (flatappearance) toch border?

Pagina: 1
Acties:
  • 136 views sinds 30-01-2008
  • Reageer

  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 15-10 12:48
Hey,

ik heb een formulier met daarop een button. Deze button heeft Flat als FlatStyle, en bij FlatAppearance heb ik de border op 0 gezet zodat de border verdwijnt.

Werkt zoals het hoort, alleen krijgt de button wel een border zodra het formulier geen focus heeft.
Als het formulier daarna de focus weer krijgt verdwijnt de border weer...

Weet iemand hoe dit kan?

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Dat lijkt me de control focus? Dus geen 'doorgetrokken' streep maar een 'gestippelde'?
Ik heb hier even geen VS bij de hand maar ik vermoed dat het dat is.

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


  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 15-10 12:48
RobIII schreef op maandag 28 mei 2007 @ 16:40:
Dat lijkt me de control focus? Dus geen 'doorgetrokken' streep maar een 'gestippelde'?
Ik heb hier even geen VS bij de hand maar ik vermoed dat het dat is.
Nee, het is echt een pikzwarte, doorgetrokken border.

Button instellingen:

Afbeeldingslocatie: http://www.clubcharts.nl/zooi/buttonprobleem2.gif

Links zoals de button eruit ziet als het forum de focus heeft, rechts de button zodra het form de focus niet meer heeft:

Afbeeldingslocatie: http://www.clubcharts.nl/zooi/buttonprobleem.gif

Ik heb trouwens nog wel wat extra code toegevoegd om de button transparant te maken, maar dat heeft er volgens mij niks mee te maken:

code:
1
2
3
4
5
6
SetStyle(ControlStyles.SupportsTransparentBackColor, true);

button.BackColor = Color.Transparent;
button.FlatAppearance.MouseDownBackColor = Color.Transparent;
button.FlatAppearance.MouseOverBackColor = Color.Transparent;
button.FlatAppearance.CheckedBackColor = Color.Transparent;

[ Voor 55% gewijzigd door TangLeFuzZ op 28-05-2007 16:52 ]


  • roy-t
  • Registratie: Oktober 2004
  • Laatst online: 17-10 16:43
Plaats gewoon een label, en maak een nieuwe eventhandler voor het "label click event" (ongeveer die naam) (bij de eigenschappen waar je flat had ingesteld kun je naast *catergories, A->Z ook een bliksemschichtje maken, dat zijn de eventhandlers

In de event handler clicked zet je gewoon de code die je nu in je knop hebt staan, en een label is altijd flat, en makkelijk transparant te maken.

Suc6!

~ Mijn prog blog!


  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 27-11 10:50

_Thanatos_

Ja, en kaal

Voor een close-knopje valt het nog mee, maar bedenk wel dat je met het toetsenbord niet op een label kunt klikken, vziw. Lijkt me wel iets om rekening mee te houden...

日本!🎌


  • cspare
  • Registratie: Oktober 2006
  • Laatst online: 29-07 22:19

cspare

What the deuce?!

Ik heb even nagekeken en ik geloof dat het met de showfocuscues property te maken heeft: http://msdn2.microsoft.co...showfocuscues(vs.80).aspx
Is alleen read-only... ik zal nog even verder kijken of je 'm ook kan aanpassen.

Misschien toch niet ;)

Wat RobIII zegt klopt inderdaad. Als je een tweede button toevoegt die ook flat is kan je het goed zien. Een van beide buttons zal het border effect hebben zoals je het omschrijft. Met de tab-toets kan je dan een andere button de focus geven zodat deze button nu de border krijgt.

[ Voor 43% gewijzigd door cspare op 29-05-2007 10:15 ]

The one who says it cannot be done, should never interrupt the one who is doing it.

Pagina: 1