Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

C-Sharp Label aus anderer Klasse heraus ändern

Frage Entwicklung C und C++

Mitglied: 8digit

8digit (Level 1) - Jetzt verbinden

25.07.2014, aktualisiert 17:07 Uhr, 1748 Aufrufe, 2 Kommentare, 1 Danke

Hi,

in einer C# Form habe ich ein Label, welches sich aus einer anderen Klasse heraus ändern soll.

Datei1:
01.
namespace Test 
02.
03.
    public partial class Form1 : Form 
04.
05.
        public Form1() 
06.
07.
            InitializeComponent(); 
08.
09.
 
10.
        klasse2 abc = new klasse2(); 
11.
 
12.
        private void button1_Click(object sender, EventArgs e) 
13.
14.
            abc.doCradyStuff(); 
15.
16.
17.
}
Datei 2:
01.
namespace Test 
02.
03.
    class klasse2 
04.
05.
        public void doCradyStuff() 
06.
07.
            label1.text = "Test"; //Das hier funktioniert nicht 
08.
09.
10.
}
in der doCrazyStuff() soll das label1 geändert werden.

Ich bin leider noch ganz am Anfang in C# und komme nicht weiter.

Form1.label1.Text funktioniert auch nicht.
Ich habe auch versucht in der Klasse2 nochmal
Form1 cde = new Form();
zu machen, doch dann bekomme ich eine Meldung, dass das Programm zu lange selbst aufgerufen wird.

Habe ich ne Idee, wie ich das lösen kann.
Gruß
8digit
Mitglied: emeriks
LÖSUNG 25.07.2014, aktualisiert um 17:07 Uhr
Hi,
woher soll denn "klasse2" wissen, wer "label1" ist? Du musst da schon explitzit eine Referenz angeben.
ich kann jetzt kein C#, nur in VB.Net bewandert, aber das muss in etwa so aussehen: (ich hoffe, die syntax stimmt)

01.
namespace Test 
02.
03.
    public partial class Form1 : Form 
04.
05.
        public Form1() 
06.
07.
            InitializeComponent(); 
08.
09.
 
10.
        klasse2 abc = new klasse2(this); 
11.
 
12.
        private void button1_Click(object sender, EventArgs e) 
13.
14.
            abc.doCradyStuff(); 
15.
16.
17.
18.
 
19.
20.
    class klasse2 
21.
22.
	private Form _Parent; 
23.
	public klasse2(Form Parent) 
24.
25.
           _Parent = Parent; 
26.
27.
        public void doCradyStuff() 
28.
29.
            _Parent.label1.text = "Test"; 
30.
31.
32.
}
Beim Erstellen der klasse2 übergibst Du das Fromular.

E.



Edit:
Oder So

01.
amespace Test 
02.
03.
    public partial class Form1 : Form 
04.
05.
        public Form1() 
06.
07.
            InitializeComponent(); 
08.
09.
 
10.
        klasse2 abc = new klasse2(); 
11.
 
12.
        private void button1_Click(object sender, EventArgs e) 
13.
14.
            abc.doCradyStuff(this); 
15.
16.
17.
18.
 
19.
20.
    class klasse2 
21.
22.
        public void doCradyStuff(Form Parent) 
23.
24.
            Parent.label1.text = "Test"; 
25.
26.
27.
}
Bitte warten ..
Mitglied: 8digit
25.07.2014 um 17:07 Uhr
Vielen Dank,
das mit dem Form1 Parent funktioniert super.

Ich wusste zwar, dass ich da irgendwie übergeben muss, aber nicht genau wie ich das mache.

Gruß
8digit
Bitte warten ..
Ähnliche Inhalte
Visual Studio
gelöst C Sharp Form übergreifend das Panel ändern (3)

Frage von Dipps zum Thema Visual Studio ...

Windows 7
Benutzerpasswort ändern aus einer anderen Domäne heraus (3)

Frage von Machello zum Thema Windows 7 ...

Datenbanken
MySQL - Feld aus anderer Tabelle hinzusummieren? (3)

Frage von 1410640014 zum Thema Datenbanken ...

Neue Wissensbeiträge
Rechtliche Fragen

Heiseshow, live ab 12 Uhr: Steht die Vorratsdatenspeicherung vor dem Aus?

Tipp von sabines zum Thema Rechtliche Fragen ...

Outlook & Mail

Outlook Probleme nach Juni Updates - KB3203467 ist Schuld

(1)

Information von Deepsys zum Thema Outlook & Mail ...

Microsoft Office

Windows 7, Office 2016 RTM und Updates ohne WSUS

Tipp von chgorges zum Thema Microsoft Office ...

E-Mail

Thunderbird 52 hat Druckprobleme

(3)

Tipp von magicteddy zum Thema E-Mail ...

Heiß diskutierte Inhalte
Server-Hardware
Einem Stromausfall entgegen wirken (22)

Frage von OIOOIOOIOIIOOOIIOIIOIOOO zum Thema Server-Hardware ...

Festplatten, SSD, Raid
PC stellt nach dem Bios ab (20)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...

Windows 7
Freeware MSI Tool (13)

Frage von uridium69 zum Thema Windows 7 ...

DSL, VDSL
gelöst Ständige Störungen - Internet (12)

Frage von gamerff zum Thema DSL, VDSL ...