Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[C#] Balloon tooltip komt op de verkeerde plek

Pagina: 1
Acties:

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

_Thanatos_

Ja, en kaal

Topicstarter
Ik heb een ToolTip control met IsBalloon=true. Je kent het wel, zo'n geel ballonnetje. Vervolgens roep ik em aan:
C#:
1
toolTip.Show("Blablah", control, new Point(4, 4), 5000);

Hier gaan maarliefst drie dingen al de mist in:
1) Hij komt op de verkeerde plek. Hij pakt de coördinaten van de linkerbovenhoek van de tooltip om te positioneren, terwijl hij de punt van het pijltje moet pakken. Ik kan niet de hoogte van de tooltip opvragen, dus waar het ding nou daadwerkelijk moet komen, dat weet alleen God.
2) De tweede keer doet ie het al beter, maar nog steeds hopeloos fout. De tooltip komt nu op een arbitraire plek te staan, en de pijl wordt gestretched totdat de punt van de pijl op mijn coördinaat staat. Ik kan dus niet aangeven aan "welke kant" van de pijl de tooltip moet staan. Of ie dus naar beneden of naar boven moet wijzen. Noch kan ik aangeven dat ik een gestretchte pijl lelijk vind.
3) Als de tooltip om wat voor reden dan ook buiten beeld zou vallen, wordt ie (netjes) geherpositioneerd. Alleen wordt vergeten dat de pijl dan niet meer klopt, want die blijft op de zelfde plek, zodat ie naar iets totaal onzinnigs wijst.

Dit lijken me vrij triviale dingen, dus ik zal wel iets heel erg fout doen? Ik heb eigenlijk niet meer gedaan dan die ToolTip control op m'n form gedropt, en IsBalloon, ToolTipTitle, en ToolTipIcon ingesteld. En vervolgens aanroepen. Zou toch goed moeten zijn?

日本!🎌


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Lijkt me een bekend probleem: http://connect.microsoft....ack.aspx?FeedbackID=98281
Het stamt dan wel uit april 2006; wellicht is er inmiddels een fix voor. Ik heb het hier even geprobeerd met alle updates/fixes en ondervind hetzelfde probleem vooralsnog.

edit:

Met de volgende 'workaround' wordt 'ie in ieder geval 'consequent' de eerste keer getoond (min of meer):

Visual Basic .NET:
1
2
3
        ToolTip1.ToolTipTitle = "W00T!"
        ToolTip1.SetToolTip(Button2, "Foo")  '<< Dirty workaround
        ToolTip1.Show("Bar", Button2, New Point(4, 4), 5000)

Punt 1 en 2 zijn daarmee 'opgelost' :X Maar dan gaat punt 3 nog steeds fout.

[ Voor 39% gewijzigd door RobIII op 24-07-2007 03:40 ]

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


  • Mastermind
  • Registratie: Februari 2000
  • Laatst online: 29-11 15:35
Onder de properties van je control staat "Misc". Als je de ToolTip control in de designer hebt gedragd, zie je bijv. "ToolTip on toolTip1" staan. Daar kun je de tekst van de tooltip van de control opgeven.

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

_Thanatos_

Ja, en kaal

Topicstarter
RobIII, ik ga het uitproberen. Alleen moet ik er wel bij vermelden dat de tooltip niet per se een tooltip is die op een specifieke control slaat. Het is een ballon die gewoon de gebruiker erop wijst waar z'n voorgaande actie "heen gaat". Dat kan idd een control zijn, maar dat moet dan niet functioneren als een reguliere tooltip, terwijl dat in jouw code vgs mij wel gebeurt? Ik ga er iig wat mee vogelen, het schopt me misschien in de juiste richting ;)

Mastermind, zoals net gezegd, dat is de bedoeling eigenlijk niet. Hij moet echt op een gezet moment (programmatisch) in beeld springen. Maar evengoed jij ook bedankt voor je bijdrage ;)

Nu nog kijken hoe we punt 3 kunnen oplossen?

日本!🎌