Avatar billede kinghaps Nybegynder
04. maj 2005 - 21:36 Der er 4 kommentarer og
1 løsning

Width på user control

Hej,

Jeg har kastet mig ud i udvikling af user controls. Et stort problem jeg er løbet ind i er, at jeg ikke kan redigere f.eks. width på kontrollen. Jeg har prøvet mange forskellige fremgangsmåder, men enten overloader jeg en fejl, eller også sker der intet!

Hvad skal jeg gøre?

På forhånd tak,

PS. Jeg inheriter fra Panel.
Avatar billede snepnet Nybegynder
04. maj 2005 - 23:39 #1
Nu skriver du godt nok at du laver en user control, men jeg går ud fra at du mener en custom control (siden du baserer den på Panel).

Men... hvis du baserer din egen kontrol på et Panel, skulle der ikke være nogen problemer i at sætte højde, bredde mv, som på et standard Panel.

Såhh.... du kommer til at vise lidt kode, hvis jeg skal kunne komme med et bud.

Overskriver du f.eks. Render i din kontrol ?

En sidste ting ... jeg forstår ikke helt hvad du mener når du skriver at du overloader en fejl - gider du forklare det lidt nærmere ?

mvh
Avatar billede kinghaps Nybegynder
05. maj 2005 - 21:05 #2
Hej,

Det er rigtig, det er en custom control og IKKE en user control - har stadig ikke helt styr på termerne endnu :) Jeg har prøvet flere fremgangsmåder:

1. Så har jeg initialiseret den klasse som jeg ønsker skal køres. eks:
Dim test as New tester
test.width = Percentage(100) 'Percentage er en funktion af typen unit!
Dette genererer INGEN effekt, hvilket det ellers burde, da jeg inheriter fra panel?

2. Prøvede at definere property'en width med en get/set funktion - ingen respons.

3.
Når jeg skriver at overloader en fejl, så mener jeg at jeg har prøvet at overrider property'en width, men det skaber en overload fejl og kompileren melder, at fejlen skyldes at jeg ikke har inkluderet/overridet shadow?!, hvilket jeg ikke ved hvad er!

MVH
Avatar billede snepnet Nybegynder
05. maj 2005 - 23:47 #3
hej igen :o)

du kan jo prøve med dette panel :

public class SomePanel : Panel
{
}

indsat sådan her :

SomePanel p = new SomePanel();
p.Width = Unit.Percentage(100);
p.Height = 100;
p.BackColor = Color.Navy;
Form1.Controls.Add(p);

med Form1 som værende :
public HtmlForm Form1;

det skulle ikke så gerne give dig problemer med at sætte diverse, så du må vise mig hvad du har lavet i dit custom panel - ellers kan jeg ikke rigtig byde ind med noget.

du skal ikke overskrive din width-property.... den funktionalitet du ønsker, er jo den der gives af basen.

men.... kom med lidt kode - så skal du få et bud.

mvh
Avatar billede snepnet Nybegynder
16. maj 2005 - 22:06 #4
hvordan går det her kinghaps ?
mvh
Avatar billede kinghaps Nybegynder
17. maj 2005 - 00:11 #5
Hej Snepnet,

Havde helt glemt, at jeg havde oprettet et spørgsmål her, derfor mit (meget) sene svar. Jeg fik løst problemet, da jeg fik skrevet New foran min enhed (procent/pixel) - fik læst mig frem til dette via MSDN.

Men tak for din hjælp & god råd - pointene er helt klart dine!!
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