Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von herbivore
Thema: Radio Button
Am im Forum: GUI: Windows-Forms

Hallo stift,

und die .NET Doku erreicht man nach der Installation des Framework SDK 1.1 über 'Startmenü'/'Programme'/'Microsoft .NET Framework SDK v1.1'/'Dokumentation'.

herbivore

Thema: Duplikate aus ArrayList [besser: List<T>] entfernen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo at2oo1,

schon erstaunlich wieviel Ausrufezeichen du bei einer völlig unhaltbaren Aussage für erforderlich hältst. Wahrer wird sie aber dadurch nicht!

herbivore

Thema: Code layout
Am im Forum: Rund um die Programmierung

Hallo VizOne,

nach dem das eigentliche Thema ja wohl abgeschlossen ist, können wir uns ja ruhig auf das Offtopic stürzen. Schon lustig, wie heftig ich mich in meinem Leben schon über Klammern gestritten habe :-)

Aber jetzt erstmal ganz schlich: Mich würde interessieren, wie 'Code Complete' begründet, dass die logische Struktur besser wiedergegeben wird, wenn man die öffnenden Klammern mit auf die Zeile schreibt.

Wie hält es 'Code Complete' mit öffnenden Klammen von Klassen und Methoden (die schreibe ich nämlich auf eine extra Zeile; kleines Relikt aus C-Zeiten, wo das diese Klammern dann ja in Spalte eins standen)?

Außerdem wäre ich interessiert weitere (fundierte) Begründungen für die eine oder andere Art der Formatierung zu hören, z.B. 'if(bed) vw. if (bed)'.

Vielen Dank!

herbivore

Thema: Radio Button
Am im Forum: GUI: Windows-Forms

Hallo stift,

das ist doch eine typische Frage an die Dokumentation. Dort steht zu lesen:

Zitat
Wenn Benutzer ein Optionsfeld in einer Gruppe aktivieren, werden die anderen Felder automatisch deaktiviert. Alle RadioButton-Steuerelemente in einem bestimmten Container, z. B. Form, bilden eine Gruppe. Um mehrere Gruppen in einem Formular zu erstellen, platzieren Sie jede Gruppe in einem eigenen Container, z. B. in einem GroupBox-Steuerelement oder einem Panel-Steuerelement.

HTH

herbivore

Thema: Labelgrösse dynamisch
Am im Forum: GUI: Windows-Forms

Hallo MastaOfDisasta,

wenn der Text einzeilig ist, sollte Label.PreferredWidth liefern, was du willst.

herbivore

Thema: Test ob Object Methode exportiert
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo nba,

einen Unterschied sehe ich nur, wenn 'sender' ein echter Ausdruck und nicht nur eine Variable ist. In diesem Fall würde der Ausdruck im zweiten Beispiel zweimal ausgewertet werden und im ersten Beispiel nur einmal. Das ist insbesondere dann relevant, wenn die Auswertung je nach Zeitpunkt bzw. Zustand zu unterschiedlichen Ergebnissen führen kann.

Von der Lesbarkeit finde ich jedoch das zweite Beispiel angenehmer (vor allem, wenn man sich noch die extra Zeile für die öffnene Klammer spart :-)

HTH

herbivore

Thema: C# Textbox für anzeige der aktuellen tätigkeit
Am im Forum: GUI: Windows-Forms

Hallo Scarface,

in der Doku von TextBoxBase.MaxLength steht zu lesen:

Zitat
Hinweis zu Windows NT 4.0, Windows 2000, Windows Server 2003-Familie: Wenn für einzeilige Textfeld-Steuerelemente die MaxLength-Eigenschaft auf 0 festgelegt wird, beträgt die maximale Anzahl der Zeichen, die eingegeben werden können, 2147483646 bzw. die Anzahl, die durch den verfügbaren Speicher bestimmt wird, wenn diese geringer ist. Für mehrzeilige Textfeld-Steuerelemente beträgt die maximale Anzahl der Zeichen, die eingegeben werden können, 4294967295 bzw. die Anzahl, die durch den verfügbaren Speicher vorgegeben wird, wenn diese geringer ist.

Hinweis zu Windows 95, Windows 98, Windows 98 Zweite Ausgabe, Windows Millennium Edition: Wenn für einzeilige Textfeld-Steuerelemente die MaxLength-Eigenschaft auf 0 festgelegt wird, beträgt die maximale Anzahl der Zeichen, die eingegeben werden können, 32.766 bzw. die Anzahl, die durch den verfügbaren Speicher bestimmt wird, wenn diese geringer ist. Für mehrzeilige Textfeld-Steuerelemente beträgt die maximale Anzahl der Zeichen, die eingegeben werden können, 65.535 bzw. die Anzahl, die durch den verfügbaren Speicher vorgegeben wird, wenn diese geringer ist.

herbivore

Thema: Test ob Object Methode exportiert
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo suny,

sorry, aber auch C und C++ haben eine statische Typprüfung. Für C++ gilt in Bezug auf Late-Binding daher genau das gleiche wie für C# => Compiler-Fehler. In C gibt es kein Late-Binding, aber auch da würde der Aufruf einer nicht existierenden Funktionen einen Compiler-Fehler verursachen.

herbivore

Thema: C# Textbox für anzeige der aktuellen tätigkeit
Am im Forum: GUI: Windows-Forms

Hallo Scarface,

in der Doku gibts doch guten Beispiel-Code. Ich denke du bist einfach bei der "falschen" Methode. Nimm


public override int Read(char[], int, int);
oder eben


public override string ReadLine();

HTH

herbivore

Thema: C# Textbox für anzeige der aktuellen tätigkeit
Am im Forum: GUI: Windows-Forms

Hallo Scarface,

Zitat
Aber wenn ich das mit thread.abort mach schließt das komplette programm.
:-( ist also eher ne notlösung
wenn du keinen extra Thread erzeugt hat, wirst du wohl den Haupt-Thread geschlossen haben. Dadurch wird dann natürlich das Programm beendet, aber das habe ich nicht gemeint! Gucks dir mal nochmal in Ruhe an.

herbivore

Thema: C# Textbox für anzeige der aktuellen tätigkeit
Am im Forum: GUI: Windows-Forms

Hallo Scarface,

die Aktion läuft normalerweise nur in einem (extra) Thread, wenn du den Thread selber startest. Das sollte man bei langlaufenden Aktionen eigentlich sowieso immer so machen. Guck dir die Thread-Klasse einfach mal an und vermutlich wird sich auch im Forum hier was finden lassen.

ReadToEnd versucht natürlich alles auf einmal zu lesen, aber es gibt ja auch noch Read oder ReadLine. Dazu muss die "DOS"-Anwendung aber seine Ausgabe regelmäßig flushen. Was man machen kann, wenn die Anwendung das nicht tut, kannst du unter Altes Consolen C++ Prog -> C# Prog, No Flush Problem lesen.

herbivore

Thema: C# Textbox für anzeige der aktuellen tätigkeit
Am im Forum: GUI: Windows-Forms

Hallo Scarface,

wenn deine Aktion in einem Thread läuft, dann kannst du Thread.Abort verwenden:

Zitat
Löst eine ThreadAbortException im Thread aus, für den der Aufruf erfolgte, um den Prozess des Beendens des Threads zu beginnen. Durch den Aufruf dieser Methode wird der Thread i. d. R. beendet.
herbivore

Thema: C# Textbox für anzeige der aktuellen tätigkeit
Am im Forum: GUI: Windows-Forms

Hallo Scarface,

da man normalerweise Aktionen nur an bestimmten Stellen unterberechen will oder kann, wird das einfachste sein, dass du eine boolsche Instanzvariable fStop deklarierst, die vor dem Beginn der Aktion(en) auf false gesetzt wird. Diese Variable wird von dem Aktionscode an den Punkten, an denen eine Unterbrechung möglich ist, abgefragt. Dann braucht der Button die Variable nur noch auf true zu setzen.

herbivore

Thema: Test ob Object Methode exportiert
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo suny,

LateBinding (in C#) entscheidet nur, welche der (überschriebenen) Methoden aufgerufen wird, aber durch die statische Typüberprüfung zur Compile-Zeit ist sichergestellt, dass mindestens eine der (überschriebenen) Methoden existiert. Wenn das nicht sichergestellt ist, gibt es eben einen Compiler-Fehler.

herbivore

Thema: myCSHARP.de Usertreffen - Wo wollt ihr hin?
Am im Forum: Ankündigungen

Hallo burning snow,

Zitat
Düsseldorf ist bestimmt für viele eine nicht so gute Location? Oder?

naja, Frankfurt scheint zumindest keine bessere zu sein. Immerhin steht die Abstimmng gerade 50:50.

herbivore

Thema: Programmierwettbewerb - ja / nein
Am im Forum: Ankündigungen

Hallo mycsharp-Team,

wo ich gerade mal in diesem Forum rumlese: Bei immerhin 22 Ja-Stimmen (ich habe doch nichts schlimmes verraten, oder?) scheint ja ein gewisser Bedarf zu bestehen. Deshalb möchte ich die Frage von Xqgene aufgreifen:

Zitat
mich interessiert eher, ob die ganze Sache überhaupt noch aktuell ist?

herbivore

Thema: Soll myCSHARP.de Blogs hosten?
Am im Forum: Ankündigungen

Hallo ihr beide,

ich würde vorschlagen, die Abstimmung erstmal eine Weile laufenzulassen, bevor man hier das für und wieder diskutiert. Ist aber nur so eine Idee.

herbivore

Thema: myCSHARP.de Usertreffen - Wo wollt ihr hin?
Am im Forum: Ankündigungen

Hallo boco25,

Zitat
Wann soll das ungefähr sein?

gehen wir mal davon aus, dass der anlaßgebende zweiten Geburtstags von mycsharp ca. zwei Jahre nach der Registierung von alexander ist, also so um den 19.07.2005. Ist aber nur eine (begründete) Vermutung.

herbivore

Thema: Test ob Object Methode exportiert
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo nba,

was ich nicht verstehe ist, wie sich


sender.Focus();
übersetzen lassen soll, wenn sender von einem Typ ist, von dem du nicht weiß, ob er Focus implementiert. Weiter oben ist sender ja auch von Typ Object. Das würde zu einem Compiler-Fehler führen.

herbivore

Thema: HTML Code Parsen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo MasterOfCoding,

und um noch zu ergänzen, wenn du dich jetzt in RE einarbeitest, hast du dein ganzes Programmierleben was davon!

herbivore

Thema: Test ob Object Methode exportiert
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo nba,

mal unabhängig von der allgemeinen Lösung von Pulpapex: Focus wird doch nur von der Control-Klasse eingeführt und ist entsprechend in den Unterklassen vorhanden. Der Test sender.GetType ().IsSubclassOf (typeof (Control)) ist also in deinem Fall vermutlich gleichbedeutend mit der Frage, ob Focus implementiert ist.

herbivore

Thema: Arbeiten mit Dateien
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo alf468,

eine System.NullReferenceException ist von Ferne immer schwer zu diagnostizieren, weil es ja quasi jede beliebige Variable sein kann, die bei der Benutzung null ist. Dagegen sollte es für dich relativ leicht sein, weil es sich ja um eine sehr klar definierte Fehlersituation handelt. Ein Debugger - oder zumindest der Stacktrace in der Exception - sollte ein Übriges tun, um den die Fehlerstelle zu lokalisieren.

HTH

herbivore

Thema: \ in C# Code
Am im Forum: Wünsche und Kritik

Hallo myCSHARP-Administratoren,

mich dem Beitrag von Xqgene anschließend, formuliere ich mal die darauf aufbauende Bitte, den Parser für C#-Code (der ansonsten wirklich sehr(!) praktisch ist) so zu ändern, dass er die Backslashes nicht mehr verschluckt.

Vielen Dank!

herbivore

Thema: Duplikate aus ArrayList [besser: List<T>] entfernen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo golohaas.de,

ich bekenne mich als Fan von Hashtables und würde die ArrayList per for-Schleife durch gehen. Für jedes Element fragen, ob es schon in der Hastable (als Key) enthalten ist. Wenn ja, Element aus der ArrayList entfernen, wenn nicht Element in die Hashtable hinzufügen (als Key; was als Value verwendet wird, ist egal; true würde passen).

Natürlich kann man auch in einer foreach-Schleife blind jedes Element (als Key) in die Hashtable packen und nacher statt der Original-ArrayList, die Keys-Eigenschaft der Hashtable verwenden.

herbivore

Thema: Hotkeys in einer Form
Am im Forum: GUI: Windows-Forms

Hallo christof.k,

die Tastaturanschläge gehen immer an das Control, das gerade den Focus hat und das ist meistens nicht das Form selbst.

HTH

herbivore

Thema: Design von Steuerelementen
Am im Forum: GUI: Windows-Forms

Hallo zervantis,

mit einem Tutorial kann ich nicht dienen. Dafür mit einigen grundsätzlichen Überlegungen:

Was die Farben angeht, benutzen Controls zunächst keine festen Farben wie Colors.Black, sondern Systemfarben wie SystemColors.WindowText. Diese Systemfarben kann man unter 'Eigenschaften von Anzeige'/'Reiter Darstellung' ändern. Dies hat den Vorteil, dass z.B. auch Sehbehinderte Windows nutzen können, indem sie dort Schemen mit starken Kontrasten oder inverser Darstellung wählen.

Natürlich kann man die Farben von Controls auch auf feste Farben setzen, sollte dann aber aufpassen, dass man das auch für alle Farben des Controls macht, damit beim Umstellen der Systemfarben keine merkwürdigen Effekte auftreten.

Was die Farbauswahl selbst angeht, gibt es div. Anleitungen im Web, z.B. unter http://metacolor.de/ über die c't schreibt: "Dort finden sich [...] - teilweise sehr tiefgreifende - Betrachtungen zum Thema Farbwahl, nach deren Lektüre man sich bestimmt nie wieder traut, einfach 'irgendwelche' Farben auszuprobieren".

Für Schriftarten gibt quasi dasselbe wie für Farben. Insbesondere durch das Festlegen der Schriftgröße, kann man sich u.U. schnell Feinde machen.

Weiterhin kann man das Aussehen einiger Controls durch Styles verändern, z.B. von TextBoxen durch 'BorderStyle = BorderStyle.FixedSingle'.

Und zum Schluß gibt es die Möglichkeit, bei einigen Controls Teile selbst zu zeichen, z.B. bei ListBoxen die eigentlichen Einträge mit 'DrawMode = DrawMode.OwnerDrawFixed'.

Das ist vielleicht schon mal ein erster Einstieg.

HTH

herbivore

Thema: Welches Control?
Am im Forum: GUI: Windows-Forms

Hallo MastaOfDisasta,

wenn ich das richtig verstanden habe, soll der Benutzer eine Liste von Erweiterungen festlegen. Wenn er dabei beliebige Erweiterungen verwenden darf, ist m.E. TextBox das Control der Wahl.

HTH

herbivore

Thema: CheckBox
Am im Forum: GUI: Windows-Forms

Hallo Stift,


if(checkBox1.Checked)

der Fehler kommt durch das vergessene .Checked.

Auf '== true' zu fragen ist immer unnötig (und outet einen als Anfänger :-) . Das ist so, als ob man fragt, "ist es wahr, dass es wahr ist, dass ..." statt "ist es wahr, dass ..."

herbivore

Thema: CheckBox
Am im Forum: GUI: Windows-Forms

Hallo stift

das ist eine typeische Frage für die Doku. Dort steht zu lesen:

Zitat
Die ThreeState-Eigenschaft bestimmt, ob das Steuerelement zwei oder drei Zustände unterstützt. Bei einem Kontrollkästchen-Steuerelement mit zwei Zuständen wird die Checked-Eigenschaft verwendet, um dessen Wert abzurufen oder festzulegen. Verwenden Sie die CheckState-Eigenschaft, um den Wert eines Kontrollkästchen-Steuerelements mit drei Zuständen abzurufen oder festzulegen.
und wenn man dann weiß, welche um welche Eigenschaften es geht, ist der Weg zu den entsprechenden Ereignissen nicht mehr weit:
Zitat
CheckBox.CheckedChanged-Ereignis
Tritt ein, wenn der Wert der Checked-Eigenschaft geändert wird.
bzw.
Zitat
CheckBox.CheckStateChanged-Ereignis
Tritt ein, wenn der Wert der CheckState-Eigenschaft geändert wird.
HTH

herbivore

Thema: FormB (Dialog) soll auf Instanz einer Klasse in FormA zugreifen, aber wie?
Am im Forum: GUI: Windows-Forms

Hallo -acid-,

das ist eine Standard-Frage. Forumssuche nach Form1 Form2 sollte helfen.

herbivore