Avatar billede schubert1 Nybegynder
06. februar 2008 - 13:34 Der er 16 kommentarer og
1 løsning

Designview i Visual Studio

Hej eksperter.

Er der nogen der ved hvordan man gør en klasse (som har en override på OnPaint) usynlig i designview?

Jeg har en imagebutton (til en mobile application) som jeg ønsker at skjule baggrunden på hvis en property er sat til TRUE på kontrollen.

Hvordan gøres dette? På forhånd tak :)
Avatar billede wisen Nybegynder
06. februar 2008 - 15:03 #1
Du burde kunne spørge på Control.DesignMode

/Wisen
Avatar billede schubert1 Nybegynder
08. februar 2008 - 11:31 #2
for lige at klarificere det, så er det en control der er nedarvet fra button klassen, og har en override på onpaint, hvor hvis vi står i design view så skal den ikke vise baggrunden, men den skal stadig vise den i runtime.
Avatar billede schubert1 Nybegynder
08. februar 2008 - 11:47 #3
Btw. så er det på compact frameworket
Avatar billede wisen Nybegynder
08. februar 2008 - 12:05 #4
Avatar billede schubert1 Nybegynder
08. februar 2008 - 12:29 #5
Yes det var lige det jeg ledte efter. Der er dog stadig et problem :(

Jeg har skrevet

if (!this.Site.DesignMode)
{
GradientFill.FillDirection fillDirectionValue =  GradientFill.FillDirection.TopToBottom;
GradientFill.Fill(gxOff, this.ClientRectangle, startColorValue, endColorValue, fillDirectionValue);
}
else
gxOff.FillEllipse(backBrush, this.ClientRectangle);

Men GradientFill kalder en PInvoke (i en anden klasse og namespace) men det er som om Visual Studio er fuldstændig ligeglad med at den skal ignorere koden i design time?
Avatar billede wisen Nybegynder
08. februar 2008 - 12:55 #6
hmmm... der kommer jeg sq til kort...
Avatar billede wisen Nybegynder
08. februar 2008 - 13:03 #7
her er tilsyneladende en anden måde at gøre det på... http://swigartconsulting.blogs.com/tech_blender/2005/12/index.html
Avatar billede wisen Nybegynder
08. februar 2008 - 13:03 #8
.. er du sikker på at DesignMode er "true"?
Avatar billede schubert1 Nybegynder
08. februar 2008 - 13:07 #9
Tja det må den vel være når man står i designeren? men det er jo svært at sætte en watch på noget når det ikke kører?... Eller er der en anden måde at se det på?
Avatar billede wisen Nybegynder
08. februar 2008 - 13:21 #10
bare for at checke kan du smide en messagebox op...
Avatar billede schubert1 Nybegynder
08. februar 2008 - 13:59 #11
Hmm jeg har nu smidt en messagebox ind før den ovenstående IF. Men den viser slet ikke messageboxen. Så når jeg udkommenterer de 2 linjer kode med GradientFill, så vises messageboxene og kontrollerne... Hvordan kan det være at VS ignorerer at den dll som den her klasse jo bliver til når der står at den ikke skal tage sig af de 2 kald i designtime?
Avatar billede wisen Nybegynder
11. februar 2008 - 08:36 #12
hmm - det ved jeg simpelthen ikke... men har du prøvet den anden tilgang? (linket fra 8/2) ... måske virker det?!?
Avatar billede wisen Nybegynder
20. februar 2008 - 11:04 #13
.. er du kommet videre?
Avatar billede schubert1 Nybegynder
28. marts 2008 - 11:10 #14
Ja jeg gav aben videre og så på det med friske øjne og nu ved jeg hvorfor den ikke kunne vise det. Der skal specielle kald til på en håndterminal som ikke lige er dokumenteret... Men smid et svar så får du point som tak for hjælpen :)
Avatar billede schubert1 Nybegynder
28. marts 2008 - 13:30 #15
btw, så skulle der inkluderes en settingsfil til controllen som skulle indeholde specifikationer om hvad den skal vis i design, og hvad der skal vises i runtime.
Avatar billede wisen Nybegynder
29. marts 2008 - 09:55 #16
hmm - det lyder "spændende"... men godt at det er blevet løst. Jeg behøver ikke point, da det jo ikke er min hjælp der har løst problemet...
Avatar billede schubert1 Nybegynder
09. juli 2008 - 16:44 #17
nå men så lukker jeg bare
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester