Jag vill ha en egen klass för min forms utseende och alla kontroller och dess design som ska finnas i formen. >Jag vill ha en egen klass för min forms utseende och alla kontroller och dess design som ska finnas i formen. Ja asså det är min form klass som har hand om det men det blir error när jag försöker komma åt dessa kontroller ifrån en annan klass och dess rutiner. Det jag vill slippa är asså att ha en massa andra rutiner(tex en rutin som läser ifrån en databas) i formens klass. Hm det funkade inte, jag tar upp ett exempel... Hej. Jag gjorde TextBoxen och metoden till static, nu funkar det.Kontroll åtkomst
Men jag vet inte riktigt hur jag ska göra för att komma åt mina kontroller som ligger i den klassen. Jag gjorde på ett sätt men fick då detta felmeddelande "Fatal stack overflow error"
Kan nån visa lite enkelt hur det ska se ut?Sv: Kontroll åtkomst
Varför? Låter som en sak som formen skulle klara bäst själv.
>Kan nån visa lite enkelt hur det ska se ut?
Ända kontrollervariablerna från private till internal. Det kan du göra i Properties fönstret (Modifiers egenskapen) eller i koden.
MSSv: Kontroll åtkomst
Jag ska testa det du sa.Sv: Kontroll åtkomst
class KeditFrm : Form
{
internal RichTextBox rchMain;
private Button bttnWrite;
public KeditFrm()
{
InitializeComps();
}
void InitializeComps()
{
bttnWrite = new Button();
bttnWrite.Location = new Point(5, 40);
bttnWrite.Click += new System.EventHandler(this.bttnWrite_Click);
bttnWrite.Text = "Write";
this.Controls.Add(bttnWrite);
rchMain = new RichTextBox();
rchMain.Location = new Point(5, 10);
this.Controls.Add(rchMain);
}
protected void bttnWrite_Click(object sender, EventArgs e)
{
Här ska metoden write() som finns under klassen Test köras
}
}
class Test
{
public void write()
{
Den här metoden innehåller kod för att skriva ut text till rchMain, rchMain.Text = "hej"
}
}
Hur löser jag detta?Sv: Kontroll åtkomst
Antingen får du göra properties på din form (strängar eller kanske de kontroller det rör)eller får du skapa en egenskap i din klass som håller ditt formulär.
Vill du har fullständig kontroll över flödet kan du ju skapa ditt formulär (med publika egenskaper) i din klass.
//fredda Sv: Kontroll åtkomst
public static RichTextBox rchMain;
class Test
{
public static void write()
{
KeditFrm.rchMain.Text = "hj";
}
}
Hämtar metoden med Test.write();