Avatar billede dk_akj Nybegynder
18. marts 2008 - 08:12 Der er 5 kommentarer og
1 løsning

Reference til aktuelt object

Hej.

"This" refererer til den aktuelle form, hvordan får jeg en let ref til det aktuelle object ? Det jeg er ude efter at at undgå at skulle skrive objectnavn hele tiden, f.eks ... me.Text == "test") {...
istedet for text_selection.text == "test"

//akj
Avatar billede nielle Nybegynder
18. marts 2008 - 08:16 #1
Nu er formen jo det aktuelle objekt. Men jeg kan forstå at du hentyder til et bestemt input-felt i formen?

I hvilken forstand er det "aktuelt".
Avatar billede arne_v Ekspert
18. marts 2008 - 12:45 #2
C# har ikke with statement hvis der er det du spoerger om.
Avatar billede dk_akj Nybegynder
18. marts 2008 - 21:33 #3
Ok, object er måske et forkert at kalde det, det er så nærmere den aktuelle kontrol.

Her kunne jeg f.eks godt have brugt det (ligesom with havde været ønskeligt:

private void rbnRecipe_CheckedChanged(object sender, EventArgs e)
        {
            if (rbnRecipe.Checked == true)
            {
                dw_selection.DataWindowObject = "d_all_recipes";
                dw_selection.SetTransaction(sqlca);
                dw_selection.Retrieve();
            }
        }

Det jeg gerne ville var at kunen skrive noget alá dette:

private void rbnRecipe_CheckedChanged(object sender, EventArgs e)
        {
            if (me.Checked == true)
            {
                dw_selection.DataWindowObject = "d_all_recipes";
                dw_selection.SetTransaction(sqlca);
                dw_selection.Retrieve();
            }
        }

Altså me eller lign istedet for hele kontrolnanvnet.

//akj
Avatar billede nielle Nybegynder
18. marts 2008 - 21:59 #4
Brugen af "me" er nu noget typisk VB.NET noget.

Men ellers er "sender" en reference til den kontrol som aktivere et event. Derfor kan du gøre noget i denne stil:

private void rbnRecipe_CheckedChanged(object sender, EventArgs e)
{
    RadioButton me = sender as RadioButton;

    if (me.Checked)
    {
        me.DataWindowObject = "d_all_recipes";
        me.SetTransaction(sqlca);
        me.Retrieve();
    }
}
Avatar billede dk_akj Nybegynder
23. marts 2008 - 16:22 #5
Ok, det kan gøre det lettere.

Et svar ?

//akj
Avatar billede nielle Nybegynder
23. marts 2008 - 23:49 #6
Svar :^)
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