Toegang krijgen tot labels uit een andere klasse

Status
Niet open voor verdere reacties.

pdedecker

Gebruiker
Lid geworden
19 jul 2008
Berichten
35
Ik heb de volgende code:

Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace NewsTicker
{
    public partial class frmNewsticker : Form
    {

        public frmNewsticker()
        {
            InitializeComponent();
        }

        private void frmNewsticker_Load(object sender, EventArgs e)
        {
            NewsTicker news1 = new NewsTicker() { NewsText = "De kat krabt de krollen van de trap." };
        }
    }
    public class NewsTicker
    {
        public string NewsText;
        public int i;
        public Timer time;

        public NewsTicker()
        {
            time.Enabled = false;
            time.Tick += new System.EventHandler(OnTimerEvent);
            NewsTick();
        }
        public void NewsTick()
        {
            while (i <= NewsText.Length)
            {
                [B]lblNews.Text = NewsText.Substring(0, i);[/B]
                time.Interval = 500;
                time.Enabled = true;
            }
        }
        public void OnTimerEvent(object source, EventArgs e)
        {
            time.Enabled = false;
            NewsTick();
        }
    }
}

Het knelt daar bij lblNews. Dat label maakt deel uit van de klasse frmNewsticker en heeft dus geen betekenis binnen NewsTicker. Hoe kan ik toegang krijgen tot dat label binnen NewsTicker zodat ik de tekst van lblNews alsnog kan wijzigen? Is het veiliger om dit via een functie SetTicker te laten doen die zich binnen frmNewsticker bevindt dan om lblNews beschikbaar te maken voor alle klassen?
 
Om de OOP regels te volgens moet je dan vanuit je NewsTicker een custom event versturen waarop je in je frmNewsticker naar luistert. Wanneer de frmNewsticker klasse het event ontvangt (newstick) gaat deze ZELF het label updaten met tekst die je ui de NewsTicker klasse haalt. Deze laatste dien je dan in een eigenschap (publieke modifier (get/set)) beschikbaar te maken.

succes
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan