Hur gör man en richtextbox public, så att man kan nå den ifrån en annan form? Byter ut Friend mot Public i koden. I designerna finns det någon egenskap som ligger under samma kategori som "Name" om jag inte tar helt fel Du tänker på propertyn Modifier antar jag. Det är denna som styr en kontrolls "scope". Jag skulle vara tacksam om ni mera exact kunde beskriva för mig, jag hittar inte vad ni menar. I koden finns ju följande rad: Kan inte hitta någonting sådant, menar du att det skall finnas under InitializeComponent? Benni, Det är ju klart att man inte bör, men frågan är om det gör så jättestor skillnad på att ha en property istället... Det känns inte som att detgör det i det här fallet Onkelborg, >Från och med Whideby kommer du kunna sätta olika åtkomst på get&set Det är UNDERBART och helt klar något som skulle funnits med i första versionen .. :-D Jag har stött på en massa patrull, jag börjar om mitt projet i från början. Benni, Hej Andreas, och tack för dina synpunkter.Richtextbox public?
Sv: Richtextbox public?
Sv: Richtextbox public?
Sv: Richtextbox public?
Det enda som jag har hittat är:
*****
One way to do this is to make the TextBox either a public property or a public field. Then you will be able to access it through the instance of its parent form. So, if TextBox1 is a public member of FormA and myFormA is an instance of FormA, then you can use code such as
*****
Men jag förstår inte hur de menar.Sv: Richtextbox public?
Friend System.Windows.Forms.TextBox txtText;
byt den mot
Public System.Windows.Forms.TextBox txtText;
(tror det är så i c#)Sv: Richtextbox public?
Sv: Richtextbox public?
Dy ska definitivt inte göra som Onkelborg rekommonderar och sätta din kontroll public. I stället skall du använda dig av samma princip som när du ville kunna sätta texten i en RichTextBox på en form från en annan - du exponerar ett publik property.
public RichTextBox Box
{
get { return this.richTextBox1; }
}
Men även här ser jag det som en brist din system design och du kanske borde tänka om lite vad det är du vill göra.
//Andreas
Sv: Richtextbox public?
Sv: Richtextbox public?
Jag skulle nog säga att fördelarna överväger nackdelarna - även i detta fallet. Några av de vanligaste motiveringarna till att använda properties iställer för publika fält är
* Versionshantering
* Validering
* Du kan placera en breakpoint på ett property
* Från och med Whideby kommer du kunna sätta olika åtkomst på get&set
* Du kan placera en trace på ett property
I princip den enda gången jag använder mig av publika fält är när något skall ingå i p/Invoke & COM Interop.
Jag bibehåller att det kan bero på situationen, som vi inte vet mycket om i detta fallet, men jag har svårt att se att man publikt exporterar en grafikkomponent från en form - om inget så för att man riskerar att anrop till den ser från en annan tråd än huvudtråden.
//AndreasSv: Richtextbox public?
Det där en klar fördel ;)Sv: Richtextbox public?
//AndreasSv: Richtextbox public?
Återkommer vid problem.Sv: Richtextbox public?
Fatta tag i en penna och lite papper och börja skissa ner de olika delarna av ditt program och hur de hörsamma (kommunikation). Du behöver inte använda någon känd metod (ssom UML) för detta utan du kan hitta på en egen enkel med lite boxar och pilar.
Skriv sedan ner vad varje del skall göra och ansvarar för. Med detta som underlag kommer du hitta många brister innan du börjat koda och kan tackla dem innan du har 700 rader kod att struktuera om.
Mycket enkelt men ack så användbar metod. 10% av programutveckling är kodning =)
//AndreasSv: Richtextbox public?
Hur mitt project skall se ut, det har jag i "skallen", men jag förstår din synpunkt och skall utgå ifrån den.
Att jag börjar om ifrån början beror på att jag har upptäckt att jag kommit in på avisidor, och jag tror att det är lättare att börja om, och enbart använda mig av classer som fungerar som tänkt, än att sitta och försöka att rätta det gammla projectet.
Tack för din medverkan.