Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 03:04

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[c#] auf andere Forms/classes zugreifen?

Discussion on [c#] auf andere Forms/classes zugreifen? within the .NET Languages forum part of the Coders Den category.

Reply
 
Old   #1
 
Kraim's Avatar
 
elite*gold: 1
Join Date: Nov 2007
Posts: 1,871
Received Thanks: 309
[c#] auf andere Forms/classes zugreifen?

Hallo zusammen!

Ich bin gerade an einem Punkt, an dem ich nicht weiterkomme, und zwar bekomme ich es einfach nicht hin, auf verschiedene Forms/classes zuzugreifen.

ich bin generell noch starker anfänger was visual studio betrifft, deswegen kann auch sein, das mein vorhaben so nicht möglich ist/komplett dämlich auf diese weise/.. oder wie auch immer.



Zu meinem problem:

1.) form1 ist mein hauptfenster. dort kann man auf options klicken und eine Options form geht zusätzlich auf. dort hab ich eine combobox mit der man die größe des Form1 fensters verstellen kann. kurzer auszug:
Code:
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (comboBox1.SelectedItem == resoultion[0])
            {
                MessageBox.Show("resolution 0!");
            }
Also die messageboxen werden angezeigt. jetzt würde ich gerne 2 int variablen definieren mit der höhe und breite der neuen fenstergröße, aber ich hab keine ahnung wie ich diese variablen dann in die form1.designer.cs datei unterbringe.

2.) allgemein habe ich das problem, dass ich auf andere methods usw nicht zugreifen kann. zb. kann ich in program.cs nicht auf eine method aus der definitions.cs zugreifen(beide sind im selben namespace). Bilder:

Ich hoffe mir kann jemand helfen!

(falls etwas unklar ist in meiner erklärung, einfach sagen!)
Kraim is offline  
Old 07/19/2013, 21:20   #2
 
elite*gold: 46
Join Date: Aug 2010
Posts: 333
Received Thanks: 109
zu 1.
die variablen schreibst du nicht in die designer datei!
die gehören in die Form1 klasse
Code:
namespace Client
{
    public partial class Form1 : Form
    {
        //hier die variablen definieren
        int ScreenWidth = 1024;
        int ScreenHeight = 1024;

        public Form1()
        {
            InitializeComponent();
        }

    }
}

zu 2.
auf die funktion kannst du ganz einfach zugreifen:
(ein tip: klassennamen immer groß schreiben, sorgt für weniger verwirrung bei der namensgebung)
Code:
definitions.UpdateCheck(); 
(Klasse.methodenName();)
johhnyxD is offline  
Thanks
1 User
Old 07/19/2013, 21:35   #3
 
tolio's Avatar
 
elite*gold: 2932
The Black Market: 169/1/0
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
sonst ne referenz beim erstellen der weiteren klassen übergeben und diese nutzen
tolio is offline  
Thanks
1 User
Old 07/20/2013, 00:27   #4

 
snow's Avatar
 
elite*gold: 724
Join Date: Mar 2011
Posts: 10,479
Received Thanks: 3,318
^was soll die Kacke? Das ist dann doch gegen jede vernünftige Konvention? :<

Mach es wie tolio es gesagt hat, übergibt ne Referenz in nem eigenen Konstruktor:

public Form2(Form1 parentForm)
{
/* stuff */
}

Schau dir am Besten mal die objektorientierte Programmierung an. Nein, statische Methoden sind keine kluge Idee für sowas, nein public Variablen sind keine kluge Idee für sowas. :<
snow is offline  
Thanks
1 User
Old 07/20/2013, 01:11   #5

 
snow's Avatar
 
elite*gold: 724
Join Date: Mar 2011
Posts: 10,479
Received Thanks: 3,318
Quote:
Originally Posted by f1Nn View Post
Ich glaube du hast sein Problem überhaupt nicht verstanden und an deinen C# Skills zweifel ich auch nachdem was ich gelesen habe.

Er möchte auf einzelne Methoden zugreifen, keiner hat gesagt, dass diese Zugriff auf die Hauptform (Form1) brauchen. Er möchte eine ganz einfache zweite Klasse haben wo er Methoden unterbringen kann für mehr Ordnung, nicht mehr und nicht weniger.

Statische Methoden sind keine kluge Idee für sowas? Sicherlich, wo hast du denn coden gelernt und wer ffs redet von public Variablen, zumal diese auch keinen Zugriff von anderen internen Klassen erlauben, sondern nur dass man sie out-of-process ausführen kann. Da hat jemand ganz C#/oop nicht verstanden. Back2school :/
Tatsächlich sind meine C#-Skills nicht mit denen anderer Member hier vergleichbar, aber das müssen sie auch gar nicht sein - Java in einer weltweit tätigen Firma reicht, um bestimmte Prinzipien zu begreifen.

Ich zitiere das gerne mal für dich:
Quote:
Also die messageboxen werden angezeigt. jetzt würde ich gerne 2 int variablen definieren mit der höhe und breite der neuen fenstergröße, aber ich hab keine ahnung wie ich diese variablen dann in die form1.designer.cs datei unterbringe.
Für mich liest sich da mehr als deutlich heraus, dass der TE einen Callback an seine eigentliche Form schicken will, sodass sich Höhe und Breite ändern. Wenn du das über eine statische Methode machst, wird dein Code ziemlich wahrscheinlich ziemlich ungut sein, spätestens bei 2 Instanzen von Form1 hast du Pech gehabt.
Textverständnis und aufmerksames Lesen helfen einiges. Der TE selbst schreibt, dass er ein Anfänger ist, da gehe ich davon aus, dass er sich einfach noch nicht damit so auseinandergesetzt hat.

Und genau dann sind die statischen Methoden keine kluge Idee und das mit dem public war nur eine kleine Addition, da hier sehr gerne mangelhaft gelerntes VB und C# gelehrt wird. Getter und Setter sind hier das Zauberwort, die man, oh Wunder! in der OOP hört. Datenkapselung, falls du das Stichwort hören willst. Ich kann dir jetzt auch was über ADT erzählen, aber wir sind hier in keiner Vorlesung.

Wenn du weiter drüber diskutieren willst, kannst du dich per PN melden, das driftet dann doch zu sehr vom Thema ab.
snow is offline  
Old 07/21/2013, 01:35   #6
 
Kraim's Avatar
 
elite*gold: 1
Join Date: Nov 2007
Posts: 1,871
Received Thanks: 309
erstmal Danke für die zahlreichen antworten, thanks wurden verteilt!
hat ein bisschen länger gedauert das antworten, da ich letzte nacht noch lange dran gearbeitet habe und die probleme mit hilfe euer tipps zu zu lösen.

Ich habe meinen Post mal ein wenig gegliedert:

Antworten:

Ansonsten hätt ich da noch ne kurze Frage, ich hoffe jemand weiß zufällig die Antwort..

und zwar wollte ich einen einfachen Updater basteln, der bestimmte dateien je nach Version des clienten von einem ftp server zieht. Es funktioniert soweit alles(also das verbinden mit dem server, das auslesen der dateinamen,..), nur dass die dateien am ende nicht im verzeichnis landen..

die dateien liegen bei bplaced.net . kann das sein dass es an denen liegt? also deren ftp server(da linux) nicht mit c# kompatibel sind?

falls es daran nicht liegt, hier der code:

Also der downloadpfad wird in der letzten messagebox richtig angezeigt..

Kraim is offline  
Old 07/21/2013, 01:40   #7
 
patlux's Avatar
 
elite*gold: 0
Join Date: Jul 2013
Posts: 13
Received Thanks: 3
Request = Anfrage
Response = Antwort

Von einem Response ist aber bei deiner zweiten Anfrage(=request2) nichts zu sehen
patlux is offline  
Old 07/21/2013, 02:03   #8

 
snow's Avatar
 
elite*gold: 724
Join Date: Mar 2011
Posts: 10,479
Received Thanks: 3,318
Yep, soweit ich das verstanden habe, musst du noch request2.GetResponse() aufrufen, um die Antwort des Servers zu erhalten.

Options O = new Options(); -> hier muss die this-Referenz rein, da du ja im Konstruktor angegeben hast, dass du ein Argument vom Typ Form1 (= this) übergibst.
Dann kannst du auch die Funktionen der Instanz aufrufen - das ist vor allem dann praktisch, wenn du z.B. mehrere Forms hast, die dein Option-Dings aufrufen, so kannst du individuelle Einstellungen (in dem Falle fürs Resizen) vergeben.

Zum Thema Mdi kann ich nichts sagen, aber so kannst du deine Hintergrundfarbe wiederherstellen: (bei Beispiele).
snow is offline  
Old 07/21/2013, 05:23   #9
 
tolio's Avatar
 
elite*gold: 2932
The Black Market: 169/1/0
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
die updates via ftp runterladen? am besten für alle zeiten vergessen, die zugangsdaten wären dann in jedem programm enthalten => selbstmord

also einfach per http runterladen und passt
tolio is offline  
Old 07/23/2013, 00:01   #10

 
x]vIrus[x's Avatar
 
elite*gold: 37
Join Date: Apr 2004
Posts: 2,154
Received Thanks: 250
keine beleidigung, aber das hier ist für anfänger wirklich hilfreich

x]vIrus[x is offline  
Old 07/23/2013, 09:19   #11
 
elite*gold: 5
Join Date: Mar 2008
Posts: 460
Received Thanks: 436
@f1Nn

Ich weiß nicht was du hier zusuchen hast und warum du Leute die wesentlich mehr Ahnung haben als unfähig bezeichnest..

Es ist ein absolutes NOGO ! so in einem .Net Programm auf einen Server zuzugreifen. Wie tolio schon schrieb.

@Threadersteller
"Nicht alles was glänzt ist Gold!" -> Nicht alles was dir hier erzählt wird und bei dir auf anhieb klappt ist eine GUTE Lösung.

Es ist natürlich schwer voneinander zu unterscheiden, gerade am Anfang. Vorallem wenn die "vermeidlich" schlechtere Lösung besser bei dir klappt wie die eigentlich RICHTIGE Lösung.
SwarN is offline  
Thanks
1 User
Old 07/23/2013, 17:24   #12


 
Lawliet's Avatar
 
elite*gold: 2
Join Date: Jul 2009
Posts: 14,456
Received Thanks: 4,685
Man kann sich auch einen FTP User anlegen, der nur Leserechte erhält Bitte nehmt bei solchen Anfängerfragen doch nicht alles so ernst und bleibt beim Thema.
Lawliet is offline  
Old 07/23/2013, 17:32   #13
 
tolio's Avatar
 
elite*gold: 2932
The Black Market: 169/1/0
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
Quote:
Originally Posted by Lawliet! View Post
Man kann sich auch einen FTP User anlegen, der nur Leserechte erhält Bitte nehmt bei solchen Anfängerfragen doch nicht alles so ernst und bleibt beim Thema.
tolio is offline  
Reply


Similar Threads Similar Threads
andere auf server zugreifen
03/25/2011 - Metin2 Private Server - 5 Replies
hey com, ich habe mir einen neuen metin2 hamachi P-Server erstellt und ich würde es gerne so ienstellen dass ein freund von mir auch auf meine datenbank connecten kann und ich hab kkeine ahnung wie das geht -.- es währe nett wenn mir jemand eine genaue anleitung machen oder geben könnte MfG Felli
Mit VB auf andere EXE zugreifen wie?
01/14/2011 - .NET Languages - 6 Replies
Ist es mit der Visual Basic 2008 Expr.Edition möglich mit einem in VB geschriebenen Programm auf ein anderes zugreifen(Auch mit VB gemacht) Also ich hab zb ein spiel mit vb gemacht und will nen hack dafür... Falls ja schreibt bitte den Code rein :)
[HowTo]Andere Pc´s auf DB zugreifen lassen
09/23/2010 - Metin2 PServer Guides & Strategies - 30 Replies
Hey, da ebend 2x gefragt wurde wie man das macht mache ich hier kurz ein TuT. Also los gehts! 1.Ihr Öffnet die Portmap 2.Ihr geht auf das weiße Blatt oben Links 3.Dann füllt ihr das so aus http://img842.imageshack.us/img842/9687/portmap.p ng 4. unten den ersten Button klicken und Fertig ist es :D
mit navicat und filezilla auf andere pserver zugreifen
07/07/2010 - Metin2 Private Server - 11 Replies
Hi mein freund hat einen pserver und ich wollte auf den server zugreifen mit navicat oder filezilla aber ich bekomm immer einen Fehler, geht das überhaupt und wie?
Wie kann ich von mir aus auf eine andere DB zugreifen?
01/30/2010 - Metin2 Private Server - 7 Replies
Ich hab ne Frage wie kann ich von meinem Pc mit Navicat auf einen anderen Pc auf die db mit Navicat zugreifen? sry das ich des grad net so erklären kann^^ mfg FreaQii



All times are GMT +1. The time now is 03:05.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.